[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