首页 > 解决方案 > 我如何知道使用 SLURM 分配了哪些 GPU 作业?

问题描述

例如,我可以在 slurm 上运行作业,srun --gpus=2它将设置CUDA_VISIBLE_DEVICES为分配的 GPU。但是我知道没有这样的方法来检查哪些 GPU SLURM 分配了一个特定的工作。如果我运行scontrol show job它会显示类似TresPerJob=gpu:2但它不包含实际分配的 GPU。

我在哪里可以找到这些信息?换句话说,我如何查找分配了哪些 GPU 作业n ?

标签: slurm

解决方案


当你执行nvidia-smi命令时,你会得到这样的东西:

在此处输入图像描述

“GPU”列是通常与系统中的设备匹配的 GPU 的 ID ( ls /dev/nvidia*)。Slurm 在CUDA_VISIBLE_DEVICES环境变量中使用相同的标识。所以,当你在这个变量中看到

0,1,2

表示该作业已分配给 ID 为 0、1 和 2 的 GPU。


推荐阅读