我使用奇点,我需要在奇点容器中安装nvidia驱动程序,以对gtx 1080进行一些深度学习。此奇点图像是从nvidia泊坞站从此处创建的:https : //ngc.nvidia.com/catalog/containers / nvidia:kaldi并转换为奇异容器。我认为没有nvidia驱动程序,因为在安装驱动程序之前未找到nvidia-smi。
我做了以下建议:
add-apt-repository ppa:graphics-drivers/ppa
sudo apt update
apt install nvidia-418
之后,我想查看驱动程序是否安装正确,我执行了以下命令:
nvidia-smi
返回:未能初始化NVML:驱动程序/库版本不匹配
我搜索了如何解决此错误的方法,发现了以下主题: NVIDIA NVML驱动程序/库版本不匹配
一个答案说要执行命令:
lsmod | grep nvidia
然后在除nvidia之外的每个模块上进行rmmod,最后对rmmod nvidia进行设置。
rmmod drm
但是,当我执行此操作时,由于该主题除外,因此出现错误:rmmod:错误:正在使用模块nvidia。
该主题说,点击lsof / dev / nvidia *,并杀死使用该模块的进程,但是用drm编写时我什么也看不到,并且杀死进程似乎是一个非常糟糕的主意(Xorg,gnome-she) 。
这是命令lsof / dev / nvidia *的答案,然后是命令lsmod |。grep nvidia,然后rmmod drm 重新启动计算机也无法正常工作。
我应该怎么做才能使用nvidia-smi进行管理并能够从奇异容器内部使用我的GPU?
谢谢
谢谢您的回答。我想将GPU驱动程序安装在奇异容器中,因为在容器内部时,我无法使用GPU(找不到nvidia-smi:命令),而在容器外部时,我可以使用nvidia-smi。
没错,驱动程序应安装在容器外部,我想将其安装在容器中,以避免出现无法从容器内部访问驱动程序的问题。
现在,我找到了解决方案:要从奇异容器内部使用GPU,在调用容器时必须添加--nv。例如:
singularity exec --nv singularity_container.simg ~/test_gpu.sh
要么
singularity shell --nv singularity_container.simg
当您添加--nv时,该容器将可以访问nvidia驱动程序,并且nvidia-smi将起作用。否则,您将无法使用GPU,nvidia-smi将无法工作。