<!--#include virtual="header.txt"-->

<h1>Resource Binding</h1>

<ul>
<li><a href="#overview">Overview</a></li>
<li><a href="#srun">Srun --cpu-bind option</a></li>
<li><a href="#node">Node CpuBind Configuration</a></li>
<li><a href="#partition">Partition CpuBind Configuration</a></li>
<li><a href="#TaskPluginParam">TaskPluginParam Configuration</a></li>
</ul>

<h2 id="overview">Overview<a class="slurm_link" href="#overview"></a></h2>

<p>Slurm has a rich set of options to control the default
binding of tasks to resources.
For example, tasks can be bound to individual threads, cores, sockets, NUMA
or boards.
See the slurm.conf and srun man pages for more information about how these
options work.
This document focuses on how default binding configuration can be configured.
</p>

<p>Default binding can be configured on a per-node, per-partition or global
basis. The highest priority will be that specified using the srun
<a href="srun.html#OPT_cpu-bind"><b>--cpu-bind</b></a> option.
The next highest priority binding will be the node-specific binding, if any
node in the job allocation has some <a href="slurm.conf.html#OPT_CpuBind">
<b>CpuBind</b></a> configuration parameter and all other nodes in the job
allocation either have the same or no </b>CpuBind</b> configuration parameter.
The next highest priority binding will be the partition-specific
<a href="slurm.conf.html#OPT_CpuBind_1"><b>CpuBind</b></a> configuration
parameter (if any).
The lowest priority binding will be that specified by the
<a href="slurm.conf.html#OPT_TaskPluginParam"><b>TaskPluginParam</b></a>
configuration parameter.</p>

<p>Summary of the order of enforcement:
<ol>
<li>Srun --cpu-bind option</li>
<li>Node CpuBind configuration parameter (if all nodes match)</li>
<li>Partition CpuBind configuration parameter</li>
<li>TaskPluginParam configuration parameter</li>
</ol>
</p>

<h2 id="srun">Srun --cpu-bind option<a class="slurm_link" href="#srun"></a></h2>

<p>The srun <a href="srun.html#OPT_cpu-bind">--cpu-bind</a> option will always
be used to control task binding. If the --cpu-bind option only includes
"verbose" rather than identifying the entities to be bound to, then the verbose
option will be used together with the default entity based upon Slurm
configuration parameters as described below.</p>

<h2 id="node">Node CpuBind Configuration
<a class="slurm_link" href="#node"></a>
</h2>

<p>The next possible source of the resource binding information is the node's
configured <a href="slurm.conf.html#OPT_CpuBind">CpuBind</a> value, but only
if every node has the same CpuBind value (or no configured CpuBind value).
The node's CpuBind value is configured in the slurm.conf file.
Its value may be viewed or modified using the scontrol command.
To clear a node's CpuBind value use the command:
<pre>
scontrol update NodeName=node01 CpuBind=off
</pre>
</p>

<h2 id="partition">Partition CpuBind Configuration
<a class="slurm_link" href="#partition"></a>
</h2>

<p>The next possible source of the resource binding information is the
partition's configured <a href="slurm.conf.html#OPT_CpuBind_1">CpuBind</a>
value. The partition's CpuBind value is configured in the slurm.conf file.
Its value may be viewed or modified using the scontrol command, similar to how
a node's CpuBind value is changed:
<pre>
scontrol update PartitionName=debug CpuBind=cores
</pre>
</p>

<h2 id="TaskPluginParam">TaskPluginParam Configuration
<a class="slurm_link" href="#TaskPluginParam"></a>
</h2>

<p>The last possible source of the resource binding information is the
<a href="slurm.conf.html#OPT_TaskPluginParam">TaskPluginParam</a>
configuration parameter from the slurm.conf file.</p>

<!--#include virtual="footer.txt"-->
