如何通过使用Slurm的CUDA在GPU网格上运行多个作业 [英] How to run multiple jobs on a GPU grid with CUDA using SLURM
本文介绍了如何通过使用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屋!
查看全文