By default, processes are bound to individual CPUs (either COREs or HWTHREADs, as defined by default or by user specification for the job). On nodes that are OVERSUBSCRIBEd (i.e., where the number of procs exceeds the number of assigned slots), the default is to not bind the processes.
Note
Processes from prior jobs that are already executing on a node are not “unbound” when a new job mapping results in the node becoming oversubscribed.
Binding is performed to the first available specified object type within the object where the process was mapped. In other words, binding can only be done to the mapped object or to a resource located beneath that object.
An object is considered completely consumed when the number of
processes bound to it equals the number of CPUs within it. Unbound
processes are not considered in this computation. Additional
processes cannot be mapped to consumed objects unless the
OVERLOAD qualifier is provided via the --bind-to command
line option.
Note that directives and qualifiers are case-insensitive
and can be shortened to the minimum number of characters
to uniquely identify them. Thus, L1CACHE can be given
as l1cache or simply as L1.
Supported binding directives include:
NONEdoes not bind the processesHWTHREADbinds each process to a single hardware thread/ This requires that hwthreads be treated as independent CPUs (i.e., that either theHWTCPUSqualifier be provided to themap-byoption or thathwthreadsbe designated as CPUs by default).COREbinds each process to a single core. This can be done whetherhwthreadsorcoresare being treated as independent CPUs provided that mapping is performed at the core or higher level.L1CACHEbinds each process to all the CPUs in anL1cache.L2CACHEbinds each process to all the CPUs in anL2cacheL3CACHEbinds each process to all the CPUs in anL3cacheNUMAbinds each process to all the CPUs in aNUMAregionPACKAGEbinds each process to all the CPUs in aPACKAGE
Any directive can include qualifiers by adding a colon (:) and any
combination of one or more of the following to the --bind-to
option:
OVERLOADindicates that objects can have more processes bound to them than CPUs within themIF-SUPPORTEDindicates that the job should continue to be launched and executed even if binding cannot be performed as requested.
Note
Directives and qualifiers are case-insensitive.
OVERLOAD is the same as overload.