MPI_Cancel
Cancels a communication request
Synopsis
#include "mpi.h"
int MPI_Cancel( request )
MPI_Request *request;
Input Parameter
- request - communication request (handle)
Note
Cancel has only been implemented for receive requests; it is a no-op for
send requests. The primary expected use of MPI_Cancel is in multi-buffering
schemes, where speculative MPI_Irecvs are made. When the computation
completes, some of these receive requests may remain; using MPI_Cancel allows
the user to cancel these unsatisfied requests.
Cancelling a send operation is much more difficult, in large part because the
send will usually be at least partially complete (the information on the tag,
size, and source are usually sent immediately to the destination). MPICH
will support this once other enhancements are completed; however, users are
advised that cancelling a send, while a local operation, is likely to
be expensive (usually generating one or more internal messages).
Notes for Fortran
All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have
an additional argument ierr at the end of the argument list. ierr
is an integer and has the same meaning as the return value of the routine
in C. In Fortran, MPI routines are subroutines, and are invoked with the
call statement.
All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER
in Fortran.
Location:cancel.c