This chapter discusses the MPI topology mechanism. A topology is an extra,
topologyattribute, topology
topology and intercommunicator
optional attribute that one can give to an intra-communicator; topologies
cannot be added to inter-communicators. A topology can provide a convenient
naming mechanism for the processes of a group (within a communicator), and
additionally, may assist the runtime system in mapping the processes onto
hardware.

As stated in Chapter ,
a process group in MPI is a collection of n processes. Each process in
groupprocess group
the group is assigned a rank between 0 and n-1. In many parallel
applications a linear ranking of processes does not adequately reflect the logical
communication pattern of the processes (which is usually determined by the
underlying problem geometry and the numerical algorithm used). Often the
rankprocess rank
processes are arranged in topological patterns such as two- or
three-dimensional grids. More generally, the logical process arrangement is
described by a graph. In this chapter we will refer to this logical process
arrangement as the ``virtual topology.''

A clear distinction must be made between the virtual process topology
and the topology of the underlying, physical hardware. The virtual
topology can be exploited by the system in the assignment of processes
to physical processors, if this helps to improve the communication
performance on a given machine. How this mapping is done, however, is
outside the scope of MPI. The description of the virtual topology,
on the other hand, depends only on the application, and is
machine-independent. The functions in this chapter deal only with
machine-independent mapping.
topology, virtual vs physical