如何使用 SLURM 运行 使用 CUDA 在 GPU 网格上执行多个作业

How to run multiple jobs on a GPU grid with CUDA using SLURM

我一直致力于使用 CUDA 加快作业的处理时间。通常这会相当简单,但是我 运行 遇到了一个相当有趣的问题。我们正在使用 slurm 来安排我们的工作,通过添加 CUDA 代码并启用它的编译,它已将单个工作时间减少了一半。查看 GPU 上的负载时会出现问题。在启用 CUDA 之前,我们有可能 运行 每个节点 6 个作业。但是,启用 CUDA 后,我们只能 运行 每个节点 2 个作业 - 每个 GPU 1 个。

起初,我以为我的提交脚本有问题,我去尝试添加:

--ntasks-per-node=6

提交命令。

此 returns 错误说明:

sbatch: error: Batch job submission failed: Requested node configuration is not available

这让我相信我的 slurm.conf 配置不正确。任何帮助将不胜感激。我不能完全 post slurm.conf,但我可以查看任何设置 and/or 根据建议更改它们。

编辑:在准备提交问题之前填写标签时不小心按了回车键。

原来我们的 slurm.conf 里面有一个隐藏的 gres=gpu:1。删除它允许我们(在我们的例子中由于 CPU 负载原因而受到限制)向具有一个 K80 GPU 的节点提交最多六个 CUDA + OpenGL 作业。