Expand description
Organizing processes as groups and communicators
Processes are organized in communicators. All parallel processes initially partaking in
the computation are organized in a context called the ‘world communicator’ which is available
as a property of the Universe
. From the world communicator, other communicators can be
created. Processes can be addressed via their Rank
within a specific communicator. This
information is encapsulated in a Process
.
§Unfinished features
- 6.3: Group management
- 6.3.2: Constructors,
MPI_Group_range_incl()
,MPI_Group_range_excl()
- 6.3.2: Constructors,
- 6.4: Communicator management
- 6.4.2: Constructors,
MPI_Comm_dup_with_info()
,MPI_Comm_idup()
,MPI_Comm_split_type()
- 6.4.4: Info,
MPI_Comm_set_info()
,MPI_Comm_get_info()
- 6.4.2: Constructors,
- 6.6: Inter-communication
- 6.7: Caching
- 6.8: Naming objects
- 7: Process topologies
- Parts of sections: 8, 10, 12
Modules§
- traits
- Topology traits
Structs§
- AnyProcess
- Identifies an arbitrary process that is a member of a certain communicator, e.g. for use as a
Source
in point to point communication. - Cartesian
Communicator - A
CartesianCommunicator
is an MPI communicator object where ranks are laid out in an n-dimensional cartesian space. This gives ranks neighbors in each of those dimensions, and MPI is able to optimize the layout of these ranks to improve physical locality. - Cartesian
Layout - Contains arrays describing the layout of the
CartesianCommunicator
. - Color
- A color used in a communicator split
- Distributed
Graph Communicator - Unimplemented
- Graph
Communicator - Unimplemented
- Inter
Communicator - A communicator for inter-communication, which represents a point-to-point communication between disjoint groups
- Process
- Identifies a process by its
Rank
within a certain communicator. - Simple
Communicator - A simple communicator, either a system-defined communicator like
MPI_COMM_WORLD
or a user-defined intra-communicator without a special topology. - System
Group - A built-in group, e.g.
MPI_GROUP_EMPTY
- User
Group - A user-defined group of processes
Enums§
- Communicator
Relation - The relation between two communicators.
- Group
Relation - The relation between two groups.
- Into
Topology - An enum indirecting between different concrete communicator topology types
- Merge
Order - When an intercommunicator is merged, the caller chooses how to order the two
groups. If every rank in one group uses
Low
and every rank in the other useHigh
, then they will be ordered accordingly. If both groups use the same value, the order in the merged communicator is arbitrary. - Topology
- An enum describing the topology of a communicator
Traits§
- AnyCommunicator
- Methods that would otherwise block object safety.
- AsCommunicator
- Something that has a communicator associated with it
- Communicator
- Communicators are contexts for communication
- Group
- Groups are collections of parallel processes