MPI_RSEND, MPI_Rsend Purpose Performs a blocking ready mode send operation. C synopsis #include int MPI_Rsend(void* buf,int count,MPI_Datatype datatype, int dest,int tag,MPI_Comm comm); C++ synopsis #include mpi.h void MPI::Comm::Rsend(const void* buf, int count, const MPI::Datatype& datatype, int dest, int tag) const; FORTRAN synopsis include 'mpif.h' or use mpi MPI_RSEND(CHOICE BUF,INTEGER COUNT,INTEGER DATATYPE,INTEGER DEST, INTEGER TAG,INTEGER COMM,INTEGER IERROR) Description This subroutine is a blocking ready mode send operation. It can be started only when a matching receive is posted. If a matching receive is not posted, the operation is erroneous and its outcome is undefined. The completion of MPI_RSEND indicates that the send buffer can be reused. Parameters buf is the initial address of the send buffer (choice) (IN) count is the number of elements in the send buffer (integer) (IN) datatype is the datatype of each send buffer element (handle) (IN) dest is the rank of destination (integer) (IN) tag is the message tag (positive integer) (IN) comm is the communicator (handle) (IN) IERROR is the FORTRAN return code. It is always the last argument. Notes A ready send for which no receive exists produces an asynchronous error at the destination. The error is not detected at the MPI_RSEND and it returns MPI_SUCCESS. Errors Invalid count count < 0 Invalid datatype Type not committed Invalid destination dest < 0 or dest > = groupsize Invalid tag tag < 0 Invalid comm No receive posted error flagged at destination MPI not initialized MPI already finalized Related information MPI_IRSEND MPI_SEND