允许请求的多节点作业在节点子集上 运行
Allow a requested multi-node job to run on a subset of nodes
我需要提交一个 slurm 作业,该作业需要在具有 64 个核心节点的集群上具有可被 7 整除的核心数。一种解决方案是 运行 7 node/16 核心作业,这种方法效果很好,因为这 7 组核心之间的并行化效果非常好(7 组之间的通信很少)。
这个工作的调度变得困难,因为7个节点很难同时打开16个核心。有没有什么方法可以提交以下配置的作业?
显式请求2个节点,一个用64核,一个用48核。
允许作业合并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
我需要提交一个 slurm 作业,该作业需要在具有 64 个核心节点的集群上具有可被 7 整除的核心数。一种解决方案是 运行 7 node/16 核心作业,这种方法效果很好,因为这 7 组核心之间的并行化效果非常好(7 组之间的通信很少)。
这个工作的调度变得困难,因为7个节点很难同时打开16个核心。有没有什么方法可以提交以下配置的作业?
显式请求2个节点,一个用64核,一个用48核。
允许作业合并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