[Mpi-forum] Threading guarantees of MPI_User_function

Phil Ruffwind rf at rufflewind.com
Thu May 25 13:49:45 CDT 2017


On Thu, May 25, 2017, at 12:55, Jeff Hammond wrote:
> I expect that MPI_User_function is invoked by the thread that invokes the
> MPI function that uses it, and that you need a mutex to touch shared
> state
> associated with MPI_User_function when running with MPI_THREAD_MULTIPLE,
> but not otherwise.
> 
> I would hope that MPI implementations do not serialize calls to
> MPI_User_function
> in MPI_THREAD_MULTIPLE mode, because there are many cases where
> MPI_User_function
> is trivially reentrant and I would like simultaneous progress if I call
> MPI_Allreduce concurrently from 2+ threads (with different communicators,
> of course) with the same MPI_User_function.

Thanks for clarifying.  In that case, I'll assume synchronization is
necessary.


More information about the mpi-forum mailing list