Blocking send and blocking receive can be combined into one call...
Blocking send and blocking receive operations can be combined into one call.
MPI_Sendrecv (S)
- requires two buffers -- one for send, one for receive
MPI_Sendrecv (S) does a blocking send and receive, where the buffers for send and receive must be disjoint.
MPI_Sendrecv_replace (S)
- requires one buffer -- received message overwrites the sent one
MPI_Sendrecv_replace (S) also does a blocking send and receive, but note that there is only one buffer instead of two, because the received message overwrites the sent one.
For these calls:
- destination (for send) and source (of receive) can be the same process
- destination and source can be different processes
- SENDRECV can send to a regular RECV
- SENDRECV can receive from a regular SEND
- SENDRECV can be probed by a probe operation