slurm nvidia-docker 忽略 CUDA_VISIBLE_DEVICES

slurm nvidia-docker 忽略 CUDA_VISIBLE_DEVICES

我在 slurm 集群上运行 nvidia-docker 容器时遇到问题。在容器内部时,所有 gpu 都是可见的,因此它基本上会忽略 slurm 设置的 CUDA_VISIBLE_DEVICES 环境。在容器外部,可见的 gpu 是正确的。

有没有办法限制容器,例如使用 -e NVIDIA_VISIBLE_DEVICES ?或者有没有办法将 NVIDIA_VISIBLE_DEVICES 设置为 CUDA_VISIBLE_DEVICES ?

答案1

我遇到了这个问题,解决方案是在计算节点中安装无根 docker。我认为这是因为 docker 守护程序在执行 Slurm 进程之前执行,因此您失去了 Slurm 的抽象层。

要安装无根 Docker,您可以使用类似于 Deepops 安装过程的方法,使用剧本。您可以按照以下步骤操作指导

我希望这能解决你的问题。

相关内容