next up previous contents
Next: 7 Collective Communication Up: No Title Previous: 5 General Datatypes

6 Application Topologies

  In many applications the processes are arranged with a particular topology, such as a two- or three-dimensional grid. MPI provides support for general application topologies that are specified by a graph in which processes that communicate a significant amount are connected by an arc. If the application topology is an n-dimensional Cartesian grid then this generality is not needed, so as a convenience MPI provides explicit support for such topologies. For a Cartesian grid, periodic or nonperiodic boundary conditions may apply in any specified grid dimension. In MPI, a group either has a Cartesian or graph topology, or no topology. In addition to providing routines for translating between process rank and location in the topology, MPI also:

  1. allows knowledge of the application topology to be exploited in order to efficiently assign processes to physical processors,
  2. provides a routine for partitioning a Cartesian grid into hyperplane groups by removing a specified set of dimensions,
  3. provides support for shifting data along a specified dimension of a Cartesian grid.
By dividing a Cartesian grid into hyperplane groups it is possible to perform collective communication operations within these groups. In particular, if all but one dimension is removed a set of one-dimensional subgroups is formed, and it is possible, for example, to perform a multicast in the corresponding direction.
Tue May 28 14:38:25 PST 1996