显卡版本不匹配

当显卡驱动混乱导致CUDA运行报错时,可通过卸载所有旧驱动并重新安装推荐版本来解决。若遇到驱动卸载失败,需了解依赖关系并关闭相关进程,然后重新加载kernel mod。
摘要由CSDN通过智能技术生成

参考Comzyh的博客

$ nvidia-smi
Failed to initialize NVML: Driver/library version mismatch

查看是否能运行cuda:

>>> import torch
>>> torch.cuda.is_available()
False

查看当前驱动,发现安装了一堆显卡驱动(用来驱动显卡的程序,它是硬件所对应的软件)

$ ubuntu-drivers devices
== /sys/devices/pci0000:64/0000:64:00.0/0000:65:00.0 ==
modalias : pci:v000010DEd00001E87sv00001458sd000037A8bc03sc00i00
vendor   : NVIDIA Corporation
driver   : nvidia-driver-450-server - distro non-free
driver   : nvidia-driver-470 - distro non-free
driver   : nvidia-driver-418-server - distro non-free
driver   : nvidia-driver-470-server - distro non-free recommended
driver   : nvidia-driver-460 - distro non-free
driver   : nvidia-driver-460-server - distro non-free
driver   : xserver-xorg-video-nouveau - distro free builtin

驱动太乱了,决定卸载原来所有的驱动,重新安装recommended的版本

$ sudo apt-get remove --purge nvidia-\*

安装

$ sudo apt-get install nvidia-driver-470-server nvidia-settings nvidia-prime

但是运行nvidia-smi还是报错。
查看当前驱动安装:

$ dpkg -l | grep nvidia-driver
ii  nvidia-driver-470-server                          470.57.02-0ubuntu0.18.04.2                       amd64        NVIDIA Server Driver metapackage

发现驱动安装成功。

原文提到这个问题出现的原因是kernel mod 的 Nvidia driver 的版本没有更新,一般情况下,重启机器就能够解决,如果因为某些原因不能够重启的话,也有办法reload kernel mod:

  1. unload nvidia kernel mod, i.e., (sudo rmmod nvidia)
  2. reload nvidia kernel mod, i.e., (sudo nvidia-smi)

执行时,遇到卸载失败

$ sudo rmmod nvidia
rmmod: ERROR: Module nvidia is in use by: nvidia_uvm nvidia_modese
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值