title: numactl --physcpubind
body: <p>I was using the numactl, with --physcpubind option. manual says:</p>
  
  <pre><code>--physcpubind=cpus, -C cpus
  Only execute process on cpus. Etc...
  </code></pre>
  
  <p>Let's say I have NUMA system with 3 NUMA nodes, where each of them has 4 cores. NUMA node 0 has 0, 1, 2, 3 as core numbers. NUMA node 1 has 4,5,6,7, and NUMA node 2 has 8,9,10,11. My question is let's say I run the program as follows:</p>
  
  <pre><code>export OMP_NUM_THREADS=6
  numactl --physcpubind=0,1,4,5,8,9 ./program
  </code></pre>
  
  <p>i.e. I'll be running my program with 6 threads and I am requesting them to be on CPU cores 0,1,4,5,8,9. For example, if at some point during the program threads 0-5 are assigned CPU cores 0,1,4,5,8,9 (setup1). Is it possible that at some other point during the program execution thread 0 may be running on CPU core 9 for example, and so forth? I.e. will there be thread migration between CPU cores? Or the threads uniquely get bound to CPU cores (as in setup1)? Thanks.</p>