Point to Point Communication I

2.1.5 Send, Receive

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