[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