Managing IBM Spectrum MPI process placement and affinity

IBM Spectrum MPI follows Open MPI's support of processor affinity for improving performance. With processor affinity, MPI processes and their threads are bound to specific hardware resources such as cores, sockets, and so on.

Open MPI's mpirun affinity options are based on the notions of mapping, ranking, and binding as separate steps, as follows:

Mapping
Mapping determines the number of processes that are launched, and on which hosts. Mapping can also be used to associate the hardware resources, such as sockets and cores, with each process.
Ranking
Ranking determines an MPI rank index for each process in the mapping. If options are not used to specify ranking behavior, a default granularity is chosen. The ranks are interleaved over the chosen granularity element to produce an ordering.
Binding
Binding is the final step and can deviate from the hardware associations that were made at the mapping stage. The binding unit can be larger or smaller than specified by the mapper, and is expanded or round-robined to achieve the final binding.