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

nvidia docker, nvidia docker2, nvidia container toolkits区别

背景

在docker容器中用GPU时,查阅了网上许多教程,教程之间概念模糊不清,相互矛盾,过时的教程和新的教程混杂在一起。主要原因是Nvidia为docker容器的支持发生了好几代变更,api发生了不少变化。下面来总结一下各代支持发展历程。

省流版总结

凡是使用了命令nvidia docker或者在docker中引入了--runtime=nvidia参数的都是过时教程,最新方法只需要下载nvidia-container-toolkits,在docker中引入--gpus参数即可。

nvidia docker 

nvidia docker是NVIDIA第一代支持docker容器内使用GPU资源的项目。运行时用nvidia-docker命令。

根据nvidia docker在github ( https://github.com/NVIDIA/nvidia-docker )上的描述,已经不再使用了。

The nvidia-docker wrapper script that was included in this repository is no longer included in the package and a configuration specific to the target container engine (e.g. Docker, Containerd, Cri-o, or Podman) is suggested instead.

nvidia docker2

nvidia docker2是NVIDIA第二代支持docker容器内使用GPU资源的项目。运行时用nvidia-docker命令,且需要指定参数--runtime=nvidia.

根据 github (https://github.com/NVIDIA/nvidia-docker#backward-compatibility) 的描述,一代和二代之间有如下兼容性。

Backward compatibility To help transitioning code from 1.0 to 2.0, a bash script is provided in /usr/bin/nvidia-docker for backward compatibility. It will automatically inject the --runtime=nvidia argument and convert NV_GPU to NVIDIA_VISIBLE_DEVICES.

也就是说,在二代中,既可以使用nvidia docker命令,这会自动引入参数--runtime=nvidia也可以使用docker命令,手动指定参数--runtime=nvidia

如帖子 (https://stackoverflow.com/questions/50462153/nvidia-docker-run-vs-docker-run-runtime-nvidia) 总结:

docker run --runtime=nvidia is only available since nvidia-docker v2.
Both commands are equivalent with nvidia-docker v2, the former is a script provided for backward compatibility with nvidia-docker v1.

nvidia-container-toolkits

根据github这是最新的支持方案,如帖子描述,nvidia docker2 被Nvidia container toolkits取代,无需指定--runtime参数,只需要传递--gpus参数
                 

      
参考链接:https://blog.csdn.net/yjy420/article/details/132305356

https://stackoverflow.com/questions/50462153/nvidia-docker-run-vs-docker-run-runtime-nvidia


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

相关文章:

  • 数据格式之-XML数据查询语句xpath介绍
  • LLaMA-Factory GLM4-9B-CHAT LoRA 微调实战
  • CSS中的calc函数使用
  • 【Linux编程】一个基于 C++ 的 TCP 客户端异步(epoll)框架(一))
  • Vscode GStreamer插件开发环境配置
  • Vivado+Questasim联合仿真报错
  • 认识Python语言
  • MybatisPlus使用
  • 第一节:电路连接【51单片机-L298N-步进电机教程】
  • postman去除更新
  • PyCharm专业实验2 查找算法实现与比较
  • RK3588在Android13/14如何查看GPU,NPU,DDR,RGA数据
  • 双指针——快乐数
  • Echarts+vue电商平台数据可视化——后台实现笔记
  • 【每日学点鸿蒙知识】大图性能问题、WebView加载网页问题、H5页面数据更新问题、安全控件位置影响数据保存、企业内部应用发布
  • 双重判定锁来解决缓存击穿问题
  • VTK知识学习(27)- 图像基本操作(二)
  • Cyberchef实用功能之-批量提取XML数据文件的字段内容
  • Win10提示“缺少fbgemm.dll”怎么办?缺失fbgemm.dll文件的修复方法来啦!
  • 4-pandas常用操作