Slurm 18 は、MPI 操作をノードの同じ CPU に割り当てます。

Slurm 18 は、MPI 操作をノードの同じ CPU に割り当てます。

何らかの理由で SLURM を使用して CentOS8 クラスターで mpi 操作を開始すると、slurm は mpi プロセスを常に CPU0 から始まる CPU にバインドします。

コンピューティングノードに128個のCPUコアがあるとします。ノードに64個のCPUが必要なmpiジョブを開始します。いいですね。最初の64コア(最初のソケット)に割り当てられ、そこで正しく実行されます。

同じノードに別の64CPU mpiジョブを送信すると、SLURMはこれを最初のスロットに再配置するため、両方のジョブはCPU 0-63を使用しますが、2番目のスロットではCPU 64 -127はまったく使用されません。

さまざまなmpiパラメータを試しましたが、役に立ちませんでした。 2つのタスクを異なるソケットに割り当てることができる唯一の方法は、openmpiのレベルファイルを使用することです。しかし、SLURMが正常に機能している場合は、そうする必要はありません。

SLURMで消費されるリソースはCR_Coreです。 TaskPlugin=作業/親和性。

SLURMなしで同じノードで同じ2x mpiコードを実行すると、同じopenmpiがCPUを正しく割り当てます。

SLURMがそんなに奇妙に振る舞うのはなぜですか?

ベストアンサー1

おすすめ記事