Skip to main content

more options


Summary

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

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 guarantee unique message spaces. In conjunction with process groups, they can be used to limit communication to a subset of processes.

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.