> When you run in the debugger and break after it has obviously hung, are all > processes stopped at the same place?
Of course not, they are stuck at barriers elsewhere. Thanks for the valuable question. > If you see an error condition, you can > run > CHKMEMQ; > MPI_Barrier(((PetscObject)A)->comm); > MatAssemblyBegin(A,MAT_FINAL_ASSEMBLY); > MatAssemblyEnd(A,MAT_FINAL_ASSEMBLY); > If it hangs, check where every process is stuck. I obviously seem to be missing some barriers. But why would I need MPI_Barrier(((PetscObject)A)->comm) and not just MPI_Barrier(PETSC_COMM_WORLD)? Would that only force a barrier for A-related traffic? Dominik
