ubuntu:nvidia-smi报错:Failed to initialize NVML: Driver/library version mismatch

ubuntu:nvidia-smi报错:Failed to initialize NVML: Driver/library version mismatch

前言:

我首先是因为想要编译一个关于cuda的程序,发现找不到helper_cuda.h头文件,查找网上解决办法,无果。然后使用简单的cuda程序检测,发现有的能编译通过,有的不可以,出现no device,等错误提示,故查看英伟大驱动,nvidia-smi出现标题报错

问题:

查看显卡:

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

分析

  • 查看显卡驱动使用的内核版本(515)
$ cat /proc/driver/nvidia/version
NVRM version: NVIDIA UNIX x86_64 Kernel Module  515.65.01  Wed Jul 20 14:00:58 UTC 2022
GCC version:  gcc version 7.5.0 (Ubuntu 7.5.0-3ubuntu1~18.04) 

显卡内核 515.65.01,系统内核18.04

  • 查看所有nvidia驱动程序(510)
sudo dpkg --list | grep nvidia-*
[sudo] mj 的密码: 
ii  libnvidia-compute-510-server:amd64                               510.65.01-0ubuntu0.18.04.1                      amd64        NVIDIA libcompute package

原因

两个版本不一致(515和510),说明版本自动更新了
Ubuntu 的 unattended-upgrades 自动更新了 Nvidia 驱动后未重启生效。

解决1

  • 1.关闭自动更新
    同时更新 /etc/apt/apt.conf.d/10periodic 和 /etc/apt/apt.conf.d/20auto-upgrades
 - APT::Periodic::Update-Package-Lists "1";
 - APT::Periodic::Unattended-Upgrade "1";
 - APT::Periodic::Update-Package-Lists "0";
 - APT::Periodic::Unattended-Upgrade "0";
  • 注意:改变/etc下的文件是系统文件,需要重启使之生效,否则会出现这个问题
  • 2.更新后自动重启(我没尝试),可参考

解决2

内核版本和目前使用驱动版本不一致,需要卸载原来的,安装新版本

  • 1、卸载nvidia驱动
//安装时使用.run文件安装
sudo sh NVIDIA-Linux-x86_64-390.116.run --uninstall
//或
sudo /usr/bin/nvidia-uninstall
//安装时使用命令安装
//卸载驱动
 sudo apt-get purge nvidia*
 //To remove CUDA Toolkit:
 sudo apt-get --purge remove "*cublas*" "cuda*"
//To remove NVIDIA Drivers:
sudo apt-get --purge remove "*nvidia*"

最后,输入

nvidia-smi

出现

Command 'nvidia-smi' not found, but can be installed with:

说明卸载完成了

  • 2、卸载cuda
// cuda10.1及以上的卸载
cd /usr/local/cuda-xx.x/bin/
sudo ./cuda-uninstaller
sudo rm -rf /usr/local/cuda-xx.x
//cuda10.0及以下的卸载
cd /usr/local/cuda-xx.x/bin/
sudo ./uninstall_cuda_xx.x.pl
sudo rm -rf /usr/local/cuda-xx.x
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值