技术博客

英伟达NGC&TAO开发环境部署和使用

英伟达GPU在Docker容器内的调用是怎么实现的呢?主要有三种方法:

英伟达NGC&TAO开发环境部署和使用 主图

英伟达NGC&TAO开发环境部署和使用

历史文章:首发于 2023-08-19。文中软件版本、产品状态、价格、下载链接和命令可能已变化,实施前请以官方文档为准。

搭建服务器基础环境

英伟达GPU在Docker容器内的调用是怎么实现的呢?主要有三种方法:

  • 第一种方法是在容器内部署一编NVIDIA GPU驱动和CUDA包;
  • 第二种方法,是把宿主服务器的GPU驱动文件映射到容器内部使用;
  • 第三种方法,不再映射宿主服务器GPU驱动,而是直接把宿主服务器的GPU运行时(runtime)映射到容器,可以认为是第二种方法的优化。方法一流程繁琐,不推荐;方法二是NVIDIA早前提供的方案,对应的工具包为nvidia-docker1库包,但目前已停止维护;方法三是NVIDIA目前主推的方案,对应的工具为nvidia-docker2库包,但是对于19.03以上Docker版本,NVIDIA还推出更加优秀的nvidia-container-toolkit工具取代nvidia-docker2。nvidia-container-toolkit本质上就是最新版的nvidia-docker2,故以下教程也会基于19.03以上版本的Docker-ce(备注:Docker-ce是Docker的社区版本)。

安装英伟达GPU驱动

在容器内使用GPU,需要确保宿主服务器上的GPU驱动已被正常安装。由于NVIDIA NGC提供的容器内已经安装CUDA,因此宿主服务器可以只安装GPU驱动而不安装CUDA,但需要注意的是,宿主服务器的GPU驱动版本决定了容器内支持的GPU版本。假设宿主服务器的GPU驱动版本为410,而容器内的CUDA版本为11.1,则在容器内是无法正常使用GPU训练模型的,因为GPU驱动和CUDA版本不兼容。有关它们之间的版本依赖关系可以查看官方给出的CUDA版本兼容说明页面。

有关在服务器上安装英伟达GPU驱动的方法可参考GPU云服务器安装Tesla驱动,此处不做重点介绍。

安装Docker-ce

注意:要求Docker-ce版本号高于19.03。

修改Docker挂载路径和容量限制

搭建NGC环境

搭建TAO Toolkit环境

搭建Jupyter Lab环境

直接进入NGC容器内进行模型训练

使用TAO Toolkit进行模型训练

评论

当前阶段评论提交后将直接展示,后续后台评论管理接入后可切换为审核流。

登录后可发表评论、点赞和收藏文章。

还没有评论,欢迎成为第一个参与讨论的用户。

继续阅读

把文章内容和产品方案、资料授权流程串起来。

英伟达NGC&TAO开发环境部署和使用 | 瑷琟灵 AIVLE