允许请求的多节点作业在节点子集上 运行

Allow a requested multi-node job to run on a subset of nodes

我需要提交一个 slurm 作业,该作业需要在具有 64 个核心节点的集群上具有可被 7 整除的核心数。一种解决方案是 运行 7 node/16 核心作业,这种方法效果很好,因为这 7 组核心之间的并行化效果非常好(7 组之间的通信很少)。

这个工作的调度变得困难,因为7个节点很难同时打开16个核心。有没有什么方法可以提交以下配置的作业?

我唯一不能允许的是将 16 个内核的组拆分到 2 个节点上,因为这会极大地损害性能。

这是 运行宁 slurm 20.11.8

Explicitly request 2 nodes, one uses 64 cores and one uses 48 cores.

如果我对您的要求理解正确,那么这将满足您的第一个配置要求:

srun -N 2 -n 112 -m block:block --cpu-bind=core app_binary