如何通过使用Slurm的CUDA在GPU网格上运行多个作业 [英] How to run multiple jobs on a GPU grid with CUDA using SLURM

查看:16
本文介绍了如何通过使用Slurm的CUDA在GPU网格上运行多个作业的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

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

--ntasks-per-node=6

到提交命令。

这将返回一个错误,声明:

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

这使我相信我的slurm.conf配置不正确。任何帮助都将不胜感激。我不能准确地发布slurm.conf,但我可以查看任何设置和/或根据建议更改它们。

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

推荐答案

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

这篇关于如何通过使用Slurm的CUDA在GPU网格上运行多个作业的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆