Point-to-Point Communication Calls


  Point-to-point communication calls involve sends and receives between two processes. There are two basic categories of sends and receives, which are either blocking or non-blocking. A blocking call is one that returns when the send (or receive) is complete. A non-blocking call returns immediately and it is up to the programmer to check for the completion of the call.

There are also four different types of communication modes which correspond to four versions of send: standard MPI_SEND, buffered MPI_BSEND, synchronous MPI_SSEND, and ready MPI_RSEND. Other very useful calls include the non-blocking standard send MPI_ISEND, the non-blocking receive MPI_IRECV, and their tests for completion MPI_TEST, and MPI_WAIT.

Please examine the detailed documentation for the specifics of the other calls, as only the non-blocking standard send MPI_SEND and receive MPI_RECV will be presented here. Following are the C and Fortran implementations of MPI_SEND and MPI_RECV, with associated parameters and syntax.