[Mpi3-hybridpm] Ref-counted MPI_INIT/MPI_FINALIZE proposal
Jeff Squyres (jsquyres)
jsquyres at cisco.com
Tue Mar 26 07:34:21 CDT 2013
Originally proposed here:
https://svn.mpi-forum.org/trac/mpi-forum-web/ticket/302
The main idea was simple: MPI_INIT[_THREAD] can be called as many times as you want. MPI won't be finalized until MPI_FINALIZE is called (num_times_MPI_INIT_was_called + num_times_MPI_INIT_THREAD_was_called) times.
Keep in mind that any MPI_INIT_THREAD can still return something less than THREAD_MULTIPLE.
Random points of feedback from the Forum on this proposal (before it was dropped in favor of Marc Snir's INIT/FINALIZE revamp, which eventually got rejected):
- Do we still need to have the first INIT and the last FINALIZE be on the same thread? Indeed, is the concept of "main thread" relevant any more?
- Should we separate the concepts of thread level from initialization? I.e., have MPI_INIT and MPI_SET_THREAD_LEVEL?
- Should we introduce the concept of re-initialization? (i.e., initialize a process again after it has been finalized?) IMHO: This seems like a can of worms (e.g., what happens if one process in MPI_COMM_WORLD finalizes and then re-initializes, but the others do not re-initialize?). Let's leave it closed.
I've since lost the latex source for the PDF on that ticket, but it should be fairly simple to recreate, if necessary.
--
Jeff Squyres
jsquyres at cisco.com
For corporate legal information go to: http://www.cisco.com/web/about/doing_business/legal/cri/
More information about the mpiwg-hybridpm
mailing list