标签:Container CentOS nvidia driver CUDA NVIDIA docker 安装 Docker
1 需求
pytorch、tensorflow、mxnet等深度学习框架使用GPU的时候,不一样的版本会有一些CUDA要求,所以环境一直是困扰,Docker推出后,NVIDIA基于Docker给出解决方案,答案就是NVIDIA Container Toolkit。
github链接:
https://github.com/NVIDIA/nvidia-docker
架构图:
2 安装
2.1 安装前需要知道
我的机器是centOS 7,显卡是2080TI 11G,上面有GPU驱动和CUDA。
参考:https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/install-guide.html#install-guide
必须要有英伟达GPU驱动,版本大于等于418.81.07。
安装必要包:
sudo yum install -y tar bzip2 make automake gcc gcc-c++ vim pciutils elfutils-libelf-devel libglvnd-devel iptables
2.2 安装Docker
curl -fsSL https://get.docker.com | bash -s docker --mirror aliyun
2.3 安装NVIDIA Container Toolkit
Setup the stable repository and the GPG key:
distribution=$(. /etc/os-release;echo $ID$VERSION_ID) \
&& curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.repo | sudo tee /etc/yum.repos.d/nvidia-docker.repo
sudo yum clean expire-cache
安装nvidia-docker2
sudo yum install -y nvidia-docker2
重启
sudo systemctl restart docker
听说Docker版本大于19,可以用yum install -y nvidia-container-toolkit
代替nvidia-docker2安装,我觉得都行。
安装nvidia-docker2后,可以vim /etc/docker/daemon.json
看一下Docker的配置文件,是改写了的,重启Docker后生效了。
测试安装是否成功:
docker run --rm --gpus all nvidia/cuda:10.1-base nvidia-smi
会看到:
3 总结
3.1 如何安装CUDA 11.0
官网安装后测试用的是CUDA11,我没有执行成功,那么如何才能成功?
sudo docker run --rm --gpus all nvidia/cuda:11.0-base nvidia-smi
官网的GPU驱动版本是:
NVIDIA-SMI 450.51.06 Driver Version: 450.51.06 CUDA Version: 11.0
所以在官网查看GPU驱动和CUDA对应,找到了官网的兼容性介绍:
https://docs.nvidia.com/deploy/cuda-compatibility/
所以对于我来说,机器上的CUDA和cudnn不用改动,但我升级gpu driver是OK的,向下兼容,一直保持gpu driver是最新版本是OK的。
此外Docker Hub的介绍也很明确,NVIDIA推出的镜像包含CUDA和cuDNN。
3.2 如何升级gpu driver?
首先搜索显卡能用得了的驱动:https://www.nvidia.cn/Download/index.aspx?lang=cn#,然后下载下来即可。
依次执行:
chmod a+x NVIDIA-Linux-x86_64-465.31.run #修改权限
./NVIDIA-Linux-x86_64-465.31.run --uninstall #卸载原有版本
NVIDIA-Linux-x86_64-465.31.run #安装新版本
标签:Container,CentOS,nvidia,driver,CUDA,NVIDIA,docker,安装,Docker 来源: https://blog.csdn.net/x1131230123/article/details/119410322
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。