GPU A系列裸金属服务器更换NVIDIA和CUDA版本指导方案 - CUDA12.0降至CUDA11.7
0. 前置条件
本文解决当裸金属服务器预置的NVIDIA版本和业务需求不匹配时,需要更换NVIDIA驱动和CUDA版本.
服务器: 华为云A系列GPU裸金属服务, 操作系统为Ubuntu20.04
(1) 更换前主体软件环境: nvidia525+cuda12.0, 笔者验证环境:
GPU Ant8裸金属服务器NVIDIA525+CUDA12.0装机和NCCL验证-云社区-华为云 (huaweicloud.com)
(2) 更换后主体软件环境: nvidia515+cuda11.7,笔者验证环境:
GPU Ant8裸金属服务器NVIDIA515+CUDA11.7装机和NCCL验证-云社区-华为云 (huaweicloud.com)
主体环境nvidia和cuda, 配套的软件包括nvidia-fabricmanager,nvidia-peer-memory,nccl库软件, nccl-test都需要重新安装编译。 等同于重新装机。
1. 卸载原有版本的NVIDIA和CUDA
1.1 查看使用apt包管理方式安装的nvidia软件包, 执行如下命令实现查看和卸载
dpkg -l | grep nvidia
dpkg -l | grep cuda
sudo apt-get autoremove --purge nvidia-*
sudo apt-get autoremove --purge cuda-*
以上命令可以卸载nvidia-driver, cuda, nvidia-fabricmanager, nvidia-peer-memory四个软件。
但是如果nvidia和cuda是使用runfile(local)方式安装的,那么需要在1.2中再次卸载:
1.2 若使用nvidia run包直接安装的驱动,卸载场景需要找到对应的卸载命令
sudo /usr/bin/nvidia-uninstall
sudo /usr/local/cuda-11.7/bin/cuda-uninstaller
1.3 验证是否卸载完成
nvidia-smi
nvcc -V
dpkg -l | grep peer
dpkg -l | grep fabricmanager
dpkg -l | grep nvidia
2. 卸载nccl相关软件
由于nccl和cuda是配套关系, 当cuda版本从12.0更换为11.7的时候,libnccl和libnccl-dev都需要更换为和cuda11.7匹配的版本.
因此必须卸载掉原版本.
sudo apt-get autoremove --purge *nccl*
3. 删除原nccl-test的编译后文件
由于nccl-test make编译也是基于当前cuda12.0版本的。 当cuda版本更换后,需要重新编译, 因此删除它。
默认该文件在/root/nccl-tests 直接删除即可。
4. 从内核中卸载nvidia相关的所有进程
在安装nvidia驱动时,必须把内核中加载nvidia相关的进程卸载,否则会失败。
这部分请参考: https://bbs.huaweicloud.cn/blogs/401450
注意事项:笔者遇到加载到内核的nvidia进程循环依赖,无法从内核中卸载nvidia, 此时重启服务器即可,reboot!
5. 安装NVIDIA-515和CUDA-11.7配套软件环境
这部分请参考笔者的NVIDIA515+CUDA11.7的装机博客, 如上述删除和卸载步骤都执行完成,经笔者验证可行。
GPU Ant8裸金属服务器NVIDIA515+CUDA11.7装机和NCCL验证-云社区-华为云 (huaweicloud.com)
- 点赞
- 收藏
- 关注作者
评论(0)