当我使用选项--gres = gpu:1向具有两个GPU的节点提交SLURM作业时,如何获取为作业分配的GPU的ID?是否有用于此目的的环境变量?我使用的GPU都是nvidia GPU。 感谢。
答案 0 :(得分:4)
您可以使用环境变量CUDA_VISIBLE_DEVICES
获取GPU ID。此变量是分配给作业的GPU ID的逗号分隔列表。
答案 1 :(得分:1)
您可以检查给定节点的环境变量 SLURM_STEP_GPUS
或 SLURM_JOB_GPUS
:
echo ${SLURM_STEP_GPUS:-$SLURM_JOB_GPUS}
注意 CUDA_VISIBLE_DEVICES
可能与实际值 (see @isarandi's comment) 不对应。
另外,请注意这也适用于非 Nvidia GPU。
答案 2 :(得分:0)