如何使用 SLURM 限制同一节点上的作业数 运行?
how to limit the number of jobs running on the same node using SLURM?
我有一个包含 100 个作业的作业数组。我希望最多可以将作业数组中的 2 个作业分配给同一个节点。我如何使用 SLURM 执行此操作?谢谢!
假设作业可以共享节点,并且节点具有同构配置,并且您在集群上是单独的,
- 使用
sinfo -Nl
命令查找每个节点的CPU数量
- 根据您的工作内容,使用
#SBATCH --tasks-per-node=...
或 #SBATCH --cpus-per-task=...
提交要求一半的工作
如果您正在管理一个在其他人之间共享的集群,您可以定义一个虚拟类型的 GRES
,并将其中两个分配给 slurm.conf
中的每个节点,然后每个请求一个与 --gres=dummy:1
一起工作
我有一个包含 100 个作业的作业数组。我希望最多可以将作业数组中的 2 个作业分配给同一个节点。我如何使用 SLURM 执行此操作?谢谢!
假设作业可以共享节点,并且节点具有同构配置,并且您在集群上是单独的,
- 使用
sinfo -Nl
命令查找每个节点的CPU数量 - 根据您的工作内容,使用
#SBATCH --tasks-per-node=...
或#SBATCH --cpus-per-task=...
提交要求一半的工作
如果您正在管理一个在其他人之间共享的集群,您可以定义一个虚拟类型的 GRES
,并将其中两个分配给 slurm.conf
中的每个节点,然后每个请求一个与 --gres=dummy:1