![](/img/trans.png)
[英]How to set slurm/salloc for 1 gpu per task but let job use multiple gpus?
[英]How to get the ID of GPU allocated to a SLURM job on a multiple GPUs node?
当我将带有选项 --gres=gpu:1 的 SLURM 作业提交给具有两个 GPU 的节点时,如何获取分配给该作业的 GPU 的 ID? 是否有用于此目的的环境变量? 我使用的 GPU 都是 nvidia GPU。 谢谢。
您可以使用环境变量CUDA_VISIBLE_DEVICES
获取 GPU id。 此变量是分配给作业的 GPU id 的逗号分隔列表。
您可以检查给定节点的环境变量SLURM_STEP_GPUS
或SLURM_JOB_GPUS
:
echo ${SLURM_STEP_GPUS:-$SLURM_JOB_GPUS}
注意CUDA_VISIBLE_DEVICES
可能与实际值不对应( 请参阅@isarandi 的评论)。
另外,请注意这也适用于非 Nvidia GPU。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.