[MPICH2-dev] supporting MPI_THREAD_SERIALIZED

William Gropp gropp at mcs.anl.gov
Wed Jan 2 09:03:12 CST 2008


David,

For thread_serialized, it should be enough to treat the functions in  
mpid_thread in the same way they are for thread_funneled - which is  
basically as no-ops, though the exact form of the no-op may not be  
the same in all cases.

Bill

On Dec 31, 2007, at 3:27 PM, David Gingold wrote:

> 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
>
>
>

William Gropp
Paul and Cynthia Saylor Professor of Computer Science
University of Illinois Urbana-Champaign


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


More information about the mpich2-dev mailing list