使用可能な CPU コアへのスレッドの特定のバインド (または Intel の用語ではピニング) を行うように OpenMP ランタイムに指示することができます。OpenMP 4.0 には、これを抽象的かつ移植可能な方法で指定するための規定が付属していますが、現在の OpenMP 実装では、それを行うための独自のメカニズムが提供されています。
KMP_AFFINITYIntel コンパイラについては、こちらを参照してください。
GOMP_CPU_AFFINITYGCC (および互換モードの Intel) の場合 -こちらを参照してください。
これらが設定されていない限り、両方のランタイムはデフォルトでバインドなしになり、OS は適切と思われるスレッドを自由にディスパッチできます。たとえば、単一のコアで両方のスレッドをディスパッチする場合があります。後者は、多くの CPU 時間を必要とする他の実行中のプロセスがない限り、ほとんどありません。それでも、ほとんどの OS スケジューラは常にスレッドとプロセスを移行する傾向があるため、最大のパフォーマンスを得るためにバインド メカニズムを使用することをお勧めします。