Although MPI provides an extensive set of calls, a functional MPI program can be
written with just six basic calls:
- MPI_INIT
- MPI_COMM_RANK
- MPI_COMM_SIZE
- MPI_SEND
- MPI_RECV
- MPI_FINALIZE
For programming convenience and code optimization, you should consider using other
calls, such as those described in the modules on
Point to Point Communication and
Collective Communication.
MPI Messages
MPI messages consist of two parts:
- data (startbuf, count, datatype)
- envelope (destination/source, tag, communicator)
The data defines the information to be sent or received. The envelope is used in
routing messages to the receiver, and in matching send calls to receive calls.
Communicators
Communicators guarantee unique message spaces. In conjunction with process groups,
they can be used to limit communication to a subset of processes.