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