MPI_Ssend function
Performs a synchronous mode send operation and returns when the send buffer can be safely reused.
Syntax
int MPIAPI MPI_Ssend(
_In_opt_ void *buf,
int count,
MPI_Datatype datatype,
int dest,
int tag,
MPI_Comm comm
);
Parameters
buf [in, optional]
A pointer to the buffer that contains the data to be sent.count
The number of elements in the buffer. If the data part of the message is empty, set the count parameter to 0.datatype
The data type of the elements in the buffer.dest
The rank of the destination process within the communicator that is specified by the comm parameter.tag
The message tag that can be used to distinguish different types of messages.comm
The handle to the communicator.
Return value
Returns MPI_SUCCESS on success. Otherwise, the return value is an error code.
In Fortran, the return value is stored in the IERROR parameter.
Fortran
MPI_SSEND(BUF, COUNT, DATATYPE, DEST, TAG, COMM, IERROR)
<type> BUF(*)
INTEGER COUNT, DATATYPE, DEST, TAG, COMM, IERROR
Remarks
This function is non-local. Successful completion of the send operation depends on the occurrence of a matching receive function.
This function can be called whether or not a matching receive is posted. However, the send function is completed successfully only if a matching receive is posted, and the receive operation has started to receive the message. Therefore, the completion of a synchronous send not only indicates that the send buffer can be reused, but it also indicates that the receiving process has started to execute the matching receive.
If both send and receive operations are blocking operations, then the synchronous mode provides synchronous communication semantics; a communication is not completed at either end until the send and receive processes have finished.
Requirements
Product |
HPC Pack 2012 MS-MPI Redistributable Package, HPC Pack 2008 R2 MS-MPI Redistributable Package, HPC Pack 2008 MS-MPI Redistributable Package or HPC Pack 2008 Client Utilities |
Header |
Mpi.h; Mpif.h |
Library |
Msmpi.lib |
DLL |
Msmpi.dll |