HP-MPI Version 2.2.5.1 for Linux Release Note

HP-MPI V2.2.5.1 for Linux Release Note
What’s in This Version
11
ll Bind each rank to CPU each is currently running on.
For NUMA-based systems, the following options are also available:
ldom Schedule ranks on ldoms according to packed rank id.
cyclic Cyclic dist on each ldom according to packed rank id.
block Block dist on each ldom according to packed rank id.
rr Same as cyclic, but consider ldom load average.
fill Same as block, but consider ldom load average.
packed Bind all ranks to same ldom as lowest rank.
slurm slurm binding.
ll Bind each rank to ldoms each is currently running on.
map_ldom Schedule ranks on ldoms in cycle through MAP variable.
Three -cpu_bind options require the specification of a map/mask description. This allows for
very explicit binding of ranks to processors. The three options are map_ldom, map_cpu, and
mask_cpu.
Syntax:
-cpu_bind=[map_ldom,map_cpu,mask_cpu] [:, =, -e MPI_BIND_MAP=<
settings
>]
Examples:
-cpu_bind=MAP_LDOM -e MPI_BIND_MAP=0,2,1,3
# map rank 0 to ldom 0, rank 1 to ldom 2, rank 2 to ldom1 and rank 3 to ldom 3.
-cpu_bind=MAP_LDOM=0,2,3,1
# map rank 0 to ldom 0, rank 1 to ldom 2, rank 2 to ldom 3 and rank 3 to ldom 1.
-cpu_bind=MAP_CPU:0,6,5
# map rank 0 to cpu 0, rank 1 to cpu 6, rank 2 to cpu 5.
-cpu_bind=MASK_CPU:1,4,6
# map rank 0 to cpu 0 (0001), rank 1 to cpu 2 (0100), rank 2 to cpu 1 or 2 (0110).
Environment variables for CPU binding:
MPI_CPU_SPIN allows selection of the spin value which defaults to 2 seconds. This value is
used to let processes busy spin such that the operating system schedules processes to
processors. Then the processes bind themselves to the appropriate processor, or core, or
ldom as appropriate.
For example, the following selects a 4 second spin period to allow 32 MPI ranks
(processes) to settle into place and then bind to the appropriate processor/core/ldom.