Message = data + envelope
Figure 3.4:
Data+Envelope.
|
- MPI Data; Arguments
- startbuf (starting location of data)
- count (number of elements)
- receive count send count
- datatype (basic or derived)
- receiver datatype = send datatype (unless MPI_PACKED)
- Elementary (all C and FORTRAN types). Specifications of elementary datatypes allows heterogeneous communication.
- MPI basic datatypes for C:
Figure 3.5:
MPI basic datatypes for C.
|
- MPI Envelope; Arguments
- destination or source
- rank in a communicator
- receive = sender or MPI_ANY_SOURCE
- tag
- integer chosen by programmer
- receive = sender or MPI_ANY_TAG (wild cards allowed)
- communicator
- defines communication "space"
- group + context
- receive = send
- Collective operations typically operated on all processes.
- All communication (not just collective operations) takes place in groups.
- A context partitions the communication space. A message sent in one context cannot be received in another context. Contexts are managed by the system.
- A group and a context are combined in a communicator.
- Source/destination in send/receive operations refer to rank in group associated with a given communicator.
Cem Ozdogan
2010-12-27