> I don't see why this should lead to deadlock? With current class-wise > events you can already have many simultaneous instances of the same event > at once. > > Attached a MVE to better explain myself. If you run with p processes, you will see what I mean
-- Stefano
#include "petsc.h" int main(int argc, char *argv[]) { PetscErrorCode ierr; char name[64]; PetscLogEvent e; ierr = PetscInitialize(&argc,&argv,NULL,0);CHKERRQ(ierr); ierr = PetscSNPrintf(name,sizeof(name),"Event rank %d",PetscGlobalRank);CHKERRQ(ierr); ierr = PetscLogEventRegister(name,PETSC_OBJECT_CLASSID,&e);CHKERRQ(ierr); ierr = PetscLogEventBegin(e,NULL,NULL,NULL,NULL);CHKERRQ(ierr); ierr = PetscSleep(PetscGlobalRank+1);CHKERRQ(ierr); ierr = PetscLogEventEnd(e,NULL,NULL,NULL,NULL);CHKERRQ(ierr); ierr = PetscFinalize(); return ierr; }