Slurm 18 将 MPI 作业分配给节点上的相同 CPU

Slurm 18 将 MPI 作业分配给节点上的相同 CPU

由于某种原因,当在 CentOS8 集群上使用 SLURM 启动 mpi 作业时,slurm 将 mpi 进程绑定到始终从 CPU0 开始的 CPU。

假设一个计算节点上有 128 个 CPU 核心。我启动 mpi 作业,要求该节点上有 64 个 CPU。很好,它被分配到前 64 个核心(第一个插槽)并在那里运行良好。

现在,如果我向同一节点提交另一个 64-CPU mpi 作业,SLURM 会再次将其放置在第一个插槽上,因此两个作业都使用 CPU 0-63,但第二个插槽的 CPU 64-127 根本不使用。

尝试了各种 mpi 参数但无济于事。我能够将 2 个作业分配给不同套接字的唯一方法是使用 openmpi 的等级文件。但如果 SLURM 正常工作,那就没有必要了。

SLURM 中的消耗资源是 CR_Core。 TaskPlugin=任务/亲和力。

如果我在没有 SLURM 的情况下在同一节点上运行相同的 2 x mpi 代码,则相同的 openmpi 会正确分配 CPU。

是什么让 SLURM 表现得如此奇怪?

相关内容