我正在向 SLURM 队列提交多个作业。每个作业使用 1 个 GPU。每个节点有 4 个 GPU。然而,一旦作业运行,它就会占用整个节点,留下 3 个 GPU 空闲。有什么方法可以避免这种情况,以便我可以将多个作业发送到一个节点,每个作业使用一个 GPU?
我的脚本如下所示:
#SLURM --gres=gpu:1
#SLURM --ntasks-per-node 1
#SLURM -p ghp-queue
myprog.exe
Run Code Online (Sandbox Code Playgroud)
我也无法在不同的 GPU 上运行多个作业。有用的是添加OverSubscribe=FORCE到分区配置中slurm.conf,如下所示:
PartitionName=compute Nodes=ALL ... OverSubscribe=FORCE
Run Code Online (Sandbox Code Playgroud)
之后,我能够使用 运行四个作业--gres=gpu:1,并且每个作业都使用不同的 GPU(如预期的那样,第五个作业已排队)。
| 归档时间: |
|
| 查看次数: |
2250 次 |
| 最近记录: |