Commit e35ab750 authored by Kenneth Raffenetti's avatar Kenneth Raffenetti Committed by Pavan Balaji
Browse files

hydra process binding/mapping overhaul

Significant rework of the process binding/mapping features in hydra.
There were a number of bugs in the existing code. This commit addresses
them and simplifies the binding/mapping logic.

It also makes binding/mapping options more permissive.  If a user
specifies a system element that does not exist in the process affinity
options, use the next largest element in the topology.  This makes
things safer for systems in which hwloc does not report certain
elements, e.g., as an Haswell-based MBP that shows no sockets, but
does have a NUMA node.

Other comments:

1. User-defined mapping strings (e.g. TCSNB) are no longer supported.
Support may be added back at a later time, depending on user feedback.

2. Properly support cache-level binding/mapping. To accomodate all levels
of processor cache, we define objects by their absolute depth in the

3. Allocate the correct number of binding/mapping combinations given
the user-provided options, and populate them accordingly.

Refs #1858
Signed-off-by: Pavan Balaji's avatarPavan Balaji <>
parent 15aec608
This diff is collapsed.
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment