GPU A系列裸金属服务器如何更换NVIDIA和CUDA?
场景描述
当裸金属服务器预置的NVIDIA版本和业务需求不匹配时,需要更换NVIDIA驱动和CUDA版本。本文介绍华为云A系列GPU裸金属服务器(Ubuntu20.04系统)如何从“NVIDIA 525+CUDA 12.0”更换为“NVIDIA 515+CUDA 11.7”。
操作步骤
- 卸载原有版本的NVIDIA和CUDA。
- 查看使用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)方式安装的,那么需要在下一步中再次卸载。
- 若使用nvidia run包直接安装的驱动,需要找到对应的卸载命令。
sudo /usr/bin/nvidia-uninstall sudo /usr/local/cuda-11.7/bin/cuda-uninstaller
- 验证是否卸载完成。
nvidia-smi nvcc -V dpkg -l | grep peer dpkg -l | grep fabricmanager dpkg -l | grep nvidia
- 查看使用apt包管理方式安装的nvidia软件包, 执行如下命令实现查看和卸载。
- 卸载nccl相关软件。
由于nccl和cuda是配套关系, 当cuda版本从12.0更换为11.7的时候,libnccl和libnccl-dev都需要更换为和cuda11.7匹配的版本。因此必须卸载掉原版本。
sudo apt-get autoremove --purge *nccl*
- 删除原nccl-test的编译后文件。
由于nccl-test make编译也是基于当前cuda12.0版本的。 当cuda版本更换后,需要重新编译, 因此删除它。默认该文件在/root/nccl-tests直接删除即可。
- 从内核中卸载nvidia相关的所有进程。
在安装nvidia驱动时,必须把内核中加载nvidia相关的进程卸载,否则会失败。具体操作请参考卸载nvidia驱动。
若遇到加载到内核的nvidia进程循环依赖,无法从内核中卸载nvidia,此时执行reboot命令重启服务器即可。
- 安装NVIDIA-515和CUDA-11.7配套软件环境。具体步骤请参考安装nvidia。