[Mpi-forum] MPI_Mprobe workaround

N.M. Maclaren nmm1 at cam.ac.uk
Fri Jul 13 15:01:20 CDT 2012

On Jul 13 2012, Jeff Hammond wrote:
>There is no known workaround that addresses all of the problems with
>MPI Probe and MPI Iprobe in multi-threaded MPI applications.
>Are there nuances regarding the use of MPI that I have missed?  Do the
>real-world use cases have too much to do in the "/* ? */" to make this

Quite a lot do.  Anything with lazy execution may handle any outstanding
operations, and anything with eager execution may do the transfer in the
Irecv.  Not all I/O transports support asynchronicity.

But, realistically, anyone who goes beyond MPI_THREAD_FUNNELED is writing
non-portable code, because MPI specifies more than can be implemented
using what POSIX actually defines.  Inter alia, POSIX does not define any
mechanism for synchronising signals between threads, and I have exposed
inconsistencies.  Just like passive one-sided communication.

But I agree that it should be viable on at least some systems, some MPIs
and some transports.

Nick Maclaren.

More information about the mpi-forum mailing list