[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