本文主要是介绍修复 V100 驱动不匹配问题,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
最近打比赛,登录
V100
的训练环境,突然发现没法用cuda
了,记录一下修复过程。

显示 Failed to initialize NVML: Driver/library version mismatch

1. 查询原因
查询一下内核版本:
cat /proc/driver/nvidia/version

查询硬件
lspci | grep -i nvidia

看来硬件没有什么问题,主要原因是由于ubuntu自动更新驱动的关系,显卡驱动被升级为
nvidia-driver-460 (460.32.03-0ubuntu0.18.04.1)
造成的不匹配。
2. 卸载驱动
sudo apt-get purge nvidia*

3. 查找可用的驱动版本
ubuntu-drivers devices

这里可见最新的驱动为nvidia-driver-460
,标记为推荐,自动更新会与我们安装的深度学习环境冲突。
4. 安装450版本驱动
要选择匹配核心版本455.38
的驱动,这里安装nvidia-driver-450-server
版本。
sudo apt-get install nvidia-driver-450-server nvidia-settings nvidia-prime

5. 重启生效
驱动安装后不会立即生效,必须要重启一下服务器。
sudo reboot

6. 修复成功
查询 nvcc
版本
nvcc -V

查看驱动
nvidia-smi

驱动修复正常了!
7. 测试训练环境
测试一下pytorch
的环境,跑一下mmdetection
代码
conda activate open-mmlab
import torch
torch.cuda.is_available()

8. 保持驱动
为了防止下次ubuntu再自动更新,可以设置驱动保持。
sudo apt-mark hold nvidia-driver-450-server

搞定,这样下次操作系统就不会无脑自动更新显卡驱动了。
这篇关于修复 V100 驱动不匹配问题的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!