这篇文章上次修改于 671 天前,可能其部分内容已经发生变化,如有疑问可询问作者。
错误溯源
个人认为该错误是Docker容器无法被正常注册所致,究其根源是Docker 19.03及之后的版本虽然不再需要nvidia-docker支持GPU调用,但仍需NVIDIA的Toolkit(Runtime)注册Docker容器。
故可能导致此错误的原因有两个:
- NVIDIA驱动未被正确安装/NVIDIA驱动PCI寻址失败(找不到设备)。
- 未安装nvidia-container-runtime。
解决问题
安装NVIDIA驱动
CentOS/RHEL系可参考: 《现代操作系统的现代显卡驱动安装方法》。
Ubuntu可以用ubuntu-drivers(APT Package: ubuntu-drivers-common)安装。
安装NVIDIA CONTAINER RUNTIME
解决方法:安装NVIDIA Container Runtime(适用于NVIDIA芯片)
先向/etc/docker/daemon.json写入以下内容:
{
"runtimes": {
"nvidia": {
"path": "/etc/nvidia-container-runtime",
"runtimeArgs": []
}
}
}
path可根据实际nvidia-container-runtime的位置改变
然后用包管理器安装:
apt install nvidia-container-runtime
systemctm restart docker
或
yum install nvidia-container-runtime
systemctl restart docker
Q.E.D
没有评论