本文主要是介绍修复 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 驱动不匹配问题的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!