Module mpi::topology

source ·
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.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.6: Inter-communication
  • 6.7: Caching
  • 6.8: Naming objects
  • 7: Process topologies
  • Parts of sections: 8, 10, 12

Modules§

Structs§

  • Identifies an arbitrary process that is a member of a certain communicator, e.g. for use as a Source in point to point communication.
  • 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.
  • Contains arrays describing the layout of the CartesianCommunicator.
  • A color used in a communicator split
  • Unimplemented
  • Unimplemented
  • A communicator for inter-communication, which represents a point-to-point communication between disjoint groups
  • Identifies a process by its Rank within a certain communicator.
  • A simple communicator, either a system-defined communicator like MPI_COMM_WORLD or a user-defined intra-communicator without a special topology.
  • A built-in group, e.g. MPI_GROUP_EMPTY
  • A user-defined group of processes

Enums§

  • The relation between two communicators.
  • The relation between two groups.
  • An enum indirecting between different concrete communicator topology types
  • 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 use High, then they will be ordered accordingly. If both groups use the same value, the order in the merged communicator is arbitrary.
  • An enum describing the topology of a communicator

Traits§

  • Methods that would otherwise block object safety.
  • Something that has a communicator associated with it
  • Communicators are contexts for communication
  • Groups are collections of parallel processes

Type Aliases§

  • A key used when determining the rank order of processes after a communicator split.
  • Identifies a certain process within a communicator.