[mpi3-coll] Nonblocking collectives standard draft

Greg Bronevetsky bronevetsky1 at llnl.gov
Mon Dec 1 18:21:38 CST 2008


At 01:39 PM 12/1/2008, Rajeev Thakur wrote:
>MPI_Cancel cannot simply be ignored. For example, if there is an MPI_Isend
>followed by MPI_Cancel, and the matching receive is never called, the cancel
>cannot fail.

Are you sure that this is the way it works? It doesn't say so 
explicitly in the spec and the notes for MPI_Cancel on 
http://www-unix.mcs.anl.gov/mpi/www/ say "Cancel has only been 
implemented for receive requests; it is a no-op for send requests".

However, if we do need to provide the above semantics for MPI_Cancel, 
we will have to deal with a funny non-locality of behavior. Suppose 
we have an MPI_Ibcast and one of the receivers calls MPI_Cancel. What 
happens to the other participants? Do they all have to call 
MPI_Cancel to not participate or is any one calling it sufficient? 
What about things like MPI_Gather and MPI_AlltoAll? We certainly 
don't want to force non-all-to-all operations to have to do an 
all-reduce at the end to check for cancellation.

Greg Bronevetsky
Post-Doctoral Researcher
1028 Building 451
Lawrence Livermore National Lab
(925) 424-5756
bronevetsky1 at llnl.gov 




More information about the mpiwg-coll mailing list