MPI_SSEND, MPI_Ssend Purpose Performs a blocking synchronous mode send operation. C synopsis #include int MPI_Ssend(void* buf,int count,MPI_Datatype datatype, int dest,int tag,MPI_Comm comm); C++ synopsis #include mpi.h void MPI::Comm::Ssend(const void* buf, int count, const MPI::Datatype& datatype, int dest, int tag) const; FORTRAN synopsis include 'mpif.h' or use mpi MPI_SSEND(CHOICE BUF,INTEGER COUNT,INTEGER DATATYPE,INTEGER DEST, INTEGER TAG,INTEGER COMM,INTEGER IERROR) Description This subroutine is a blocking synchronous mode send operation. This is a non-local operation. It can be started whether or not a matching receive was posted. However, the send will complete only when a matching receive is posted and the receive operation has started to receive the message sent by MPI_SSEND. The completion of MPI_SSEND indicates that the send buffer is freed and also that the receiver has started executing the matching receive. If both sends and receives are blocking operations, the synchronous mode provides synchronous communication. 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 the destination task (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. Errors Invalid count count < 0 Invalid datatype Type not committed Invalid destination dest < 0 or dest > = groupsize Invalid tag tag < 0 Invalid comm MPI not initialized MPI already finalized Related information MPI_ISSEND MPI_SEND