[Mpi-forum] Cancelling a send matched by a matching probe

William Gropp wgropp at illinois.edu
Sat Oct 31 11:33:56 CDT 2015

Under the interpretation of using whether the target process has observed, rather than received the message, a consistent interpretation is that the MPI_Cancel fails at the source, as it would if the message had been received.  Its possible that the standard should require programs that have matched a message with Mprobe/Improbe to received the message before MPI_Finalize is called.

However, the standard is out of date with respect to cancel of send, and should be updated (either to make this precise or to delete cancel of send).  As Pavan has noted, there are a number of active proposals addressing this.


William Gropp
Director, Parallel Computing Institute
Thomas M. Siebel Chair in Computer Science
Chief Scientist, NCSA
University of Illinois Urbana-Champaign

On Oct 31, 2015, at 6:12 AM, Marek Tomáštík <tomastik.marek at gmail.com> wrote:

> Hello,
> I am trying to find out what should happen, according to the MPI 3.0* standard, in the following scenario:
> 1) process 0 initiates a nonblocking send operation with MPI_Issend
> 2) process 1 matches the message with MPI_Mprobe, but doesn't yet call MPI_Mrecv/MPI_Imrecv
> 3) process 0 calls MPI_Cancel to cancel the send.
> I cannot think of anything the cancel operation could do that wouldn't contradict either the specification of MPI_Cancel, or of the matched receive functions. How can this situation be handled in compliance with the standard?
> Thank you in advance,
> Marek Tomáštík
> *or 3.1 -- I believe there weren't any changes in this area?
> _______________________________________________
> mpi-forum mailing list
> mpi-forum at lists.mpi-forum.org
> http://lists.mpi-forum.org/mailman/listinfo.cgi/mpi-forum

More information about the mpi-forum mailing list