On Sep 7, 2011, at 4:03 PM, Simone Pellegrini wrote:
> By the way, I solved the problem by invoking MPI_Comm_disconnect on the inter-communicator I receive from the spawning task (MPI_Finalize is not enough). This makes the spawned tasks to close the parent communicator and terminate.
This is correct MPI behavior.
Just having spawned processes call Finalize is not sufficient, because they are still "connected" to the parent(s) who spawned them, meaning that you can eventually run out of resources.
Having your children disconnect before finalizing is definitely a good idea.
For corporate legal information go to: