[MPICH2-dev] supporting MPI_THREAD_SERIALIZED

David Gingold david.gingold at sicortex.com
Mon Dec 31 15:27:58 CST 2007


MPICH2 folks:

Our MPI presently supports the MPI_THREAD_FUNNELED level.  But I  
think it should be easy for us to support MPI_THREAD_SERIALIZED,  
which would add a bit of flexibility for multi-threaded  
applications.  The glibc functions that our MPI calls are thread- 
safe, so that's not an issue.  And I can't see why the innards of our  
implementation would care about the differences between FUNNELED and  
SERIALIZED.

So what is it that I need to do to support SERIALIZED?

To start, I know that I need to configure the build with "--enable- 
threads=serialized".  That turns on mechanisms in mpiimplthread.h,  
including pulling in mpid_thread.h.  But mpid_thread.h has a bigger  
API than I would expect.  I can see that we need to provide  
MPID_Thread_self() and MPID_Thread_same() so that MPI_Is_thread_main 
() can work.  But why do we need to define the other functions that  
show up in mpid_thread.h.in?  Or can I define these as no-ops?

-dg

--
David Gingold
Principal Software Engineer
SiCortex
Three Clock Tower Place, Suite 210
Maynard MA 01754
(978) 897-0214 x224



-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.mcs.anl.gov/mailman/private/mpich2-dev/attachments/20071231/b33a8ba4/attachment.htm>


More information about the mpich2-dev mailing list