[Mpi3-hybridpm] MPI_THREAD_SINGLE

Jeff Squyres (jsquyres) jsquyres at cisco.com
Tue Mar 26 07:26:43 CDT 2013

Per the point that Pavan raised yesterday, I guess MPI-3 p486 says two different things:

1. Line 1 says "Only one thread will execute".  There are no qualifications made on what this thread is (application, implementation, ...whatever).  It says one thread.  Period.  This is before the term "thread compliant implementation" is defined, but this statement assumedly applies only to thread compliant implementations.

2. Lines 28-31 is specifically talking about a non-thread-complaint implementation; it says that it must return THREAD_SINGLE and provide correct answers for functions like MPI_INITIALIZED even from multiple threads (assumedly even simultaneously) before MPI has been initialized.

This is an interesting datapoint in the current discussion -- it appears to go part way (but not enough) to fix the issues raised by Hammond.  Perhaps lines 28-31 were a good example of a spot fix that further muddy the waters in a holistic sense (i.e., they provide a precedence for Hammon's original "make INITIALIZED/THREAD_QUERY/etc. always thread safe" proposal, but still doesn't address the larger issue).

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