References:

In point-to-point communication, one process sends a message and another receives it.

There are many options when using point-to-point communication, which include:

There are four “blocking send” routines and four “non-blocking send” routines, corresponding to the communication methods shown above.

The receiving routines do not specify which communication method they use. They are simply blocking or not blocking.

Note: The default MPI_Send and MPI_Recv are blocking.

Blocking routines:

Before showing the routines, it is important to know the Deadlocks. Occurs when blocking communications are used and all processes are waiting for events that have not been started.

Because of this possibility, it is important to organize send and receive events so that send calls match receive calls before creating new send calls.

All routines have the same prototype as the standard routine.

Synchronous Send (MPI_Ssend):

When this routine is executed, the sender process will, first, send a signal to the receiver process, to ensure if there is a corresponding active “receive” call, if not, the sender will wait until the receive function is called, then it starts to send data.