当前位置: 首页 > article >正文

Docker中Failed to initialize NVML: Unknown Error

参考资料
Docker 中无法使用 GPU 时该怎么办(无法初始化 NVML:未知错误)
SOLVED Docker with GPU: “Failed to initialize NVML: Unknown Error”
解决方案需要的条件:
需要在服务器上docker的admin list之中. 不需要服务器整体的admin权限. 我在创建docker的时候向管理员申请了把握加到docker list当中了. 如果你能够创建docker你就满足这个条件了
问题描述:
在主机上nvidia-smi正常, 但是在docker上报错如标题.
解决: 使用上述方法修改. 但是有一些不同

  1. 我的docker没有/etc/nvidia-container-runtime/config.toml, 于是我自己新建了一个. 注意新建这个文件需要有docker的admin密码(不是服务器主机上docker 命令的管理员密码)
  2. config.toml的内容是从服务器上抄的, 复制如下
disable-require = false
#swarm-resource = "DOCKER_RESOURCE_GPU"
#accept-nvidia-visible-devices-envvar-when-unprivileged = true
#accept-nvidia-visible-devices-as-volume-mounts = false

[nvidia-container-cli]
#root = "/run/nvidia/driver"
#path = "/usr/bin/nvidia-container-cli"
environment = []
#debug = "/var/log/nvidia-container-toolkit.log"
#ldcache = "/etc/ld.so.cache"
load-kmods = true
#no-cgroups = false
#user = "root:video"
ldconfig = "@/sbin/ldconfig.real"

[nvidia-container-runtime]
#debug = "/var/log/nvidia-container-runtime.log"
log-level = "info"

# Specify the runtimes to consider. This list is processed in order and the PATH
# searched for matching executables unless the entry is an absolute path.
runtimes = [
    "docker-runc",
    "runc",
]

mode = "auto"

    [nvidia-container-runtime.modes.csv]

    mount-spec-path = "/etc/nvidia-container-runtime/host-files-for-container.d"

  1. 不需要重启docker, 只要重启容器就可以了. 需要服务器docker admin list权限.
    上面的链接当中, 使用命令sudo systemctl restart docker重启docker, 需要服务器admin权限,权限等级比较高. 我只是在docker list 当中.
    我首先执行了sudo docker run --rm --gpus all nvidia/cuda:11.0-base nvidia-smi.

然后再重启我的container.
我使用docker ps -a查看我的container_id, 然后使用docker stop <container_id>关闭我的container, 再使用docker start <container_id>重启

然后就成功了


http://www.kler.cn/a/108746.html

相关文章:

  • 场景解决之mybatis当中resultType= map时,因某个字段为null导致返回的map的key不存在怎么处理
  • PHP API如何使用access_token开放接口有效期
  • 三种单例实现
  • go do sth和come do sth的区别
  • 用户裂变数据分析
  • 协程3 --- golang的协程调度
  • 3DMAX快速瓦片屋顶铺设插件使用方法详解
  • JavaScript进阶知识汇总~
  • Linux--进程替换
  • C++中的成员变量内存布局
  • MinIO安装
  • Ubuntu ARMv8编译Qt源码以及QtCreator
  • NEFU数字图像处理(三)图像分割
  • 安全狗安装
  • Angular-05:管道
  • ip地址默认子网掩码怎么算
  • 案例分析大汇总
  • IT行业就业热点与发展方向
  • 获取客户端请求IP及IP所属城市
  • postgresql14管理(六)-备份与恢复
  • MIT Kimera-VIO-ROS 安装
  • 一个阅读英文文档的记录与思考:
  • 【3D 图像分割】基于 Pytorch 的 VNet 3D 图像分割6(数据预处理)
  • 智能水厂运行与调控3D模拟仿真在线展示提高整个系统的协同效应
  • Unity Spine 指定导入新Spine动画的默认材质
  • 飞鼠异地组网工具基本使用教程