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

记录一下配置cuda环境时遇到的问题和解决方法,已方便日后查证:

问题

终端输入nvidia-smi时,报如下错误:
Failed to initialize NVML: Driver/library version mismatch
出现这种情况的原因是NVIDIA内核驱动版本和系统驱动不一致

大多数出现该错误的情况可能是NVIDIA驱动是在低版本的时候安装,由于系统更新,内核版本升级导致NVIDIA无法应用在高内核版本,新版本内核和显卡驱动不匹配,显卡驱动版本太低!

我的情况是在配置低版本的cuda时,不小心降低了显卡驱动的版本,导致其和系统内核版本不一致而报错。为了还原之前的版本,这里我通过重新安装对应版本的显卡驱动来解决这个问题。

安装显卡驱动

这一步的方法参考这篇博客中的方法二,感激不尽!!

第一步:安装显卡驱动PPA

英伟达官方PPA的网址是:https://launchpad.net/~graphics-drivers/+archive/ubuntu/ppa,可以查看所有显卡驱动。

lspci | grep NVIDIA #查看电脑上PCIE安装的显卡,理论上不用查,自己的电脑应该都知道
sudo add-apt-repository ppa:graphics-drivers/ppa # 添加显卡安装源

此过程需要花费一点时间,这个是ubuntu官方的用于安装NVIDIA显卡的安装包仓库,可以从这个源下载任何可用的英伟达显卡驱动。中间按回车继续就可以了。(因为写该博客时问题已经解决了,没法子放过程的截图了,具体可以参考链接中的博客

NVIDIA PPA 被安装到APT package reppository的cache.后更新一下。

sudo apt update

第二步:查找合适的显卡驱动

打开显卡驱动查询网站
在这里插入图片描述
我的显卡时TITAN XP,找到对应的选项点击search查询。
在这里插入图片描述
可以看到当前(2022.1.14),适配我显卡的驱动版本号是470.94。验证该显卡驱动版本是否可以初装,可以访问该链接,根据系统类型来查看。
在这里插入图片描述
使用下边的命令在ppa中搜索470版本(小数点后号码不用关注)的显卡驱动:

apt search nvidia-470

运气比较好,正好有;如果没有搜到,可以根据上边网页中所有可以获得的显卡驱动版本从高到低搜索使用。

第三步:移除系统上先前安装的显卡驱动

sudo apt purge nvidia*

该指令会把显卡驱动以及所用cuda全部移除,将在显卡驱动不变的情况下,单纯升级cuda,删除以前cuda版本的方法。具体运行结果见参考博客。

第四步:安装显卡驱动

在这一步,参考博客中的命令并没有起作用,经过google后使用如下命令进行安装:

sudo apt install nvidia-driver-470

第五步:重启电脑并验证

sudo reboot
nvidia-smi
lsmod | grep nvidia
nvcc --version

题外话

如果本文中的方法没能解决看到这的博友的问题,可以看下第二篇参考博客中的其他方法。要解决遇到的问题,终归是要弄明白问题出现的原因,才好对症下药,不然就是没头的苍蝇乱撞了。


参考了两位大佬的博客,才找出问题所在,感激不尽!

  1. Linux的显卡驱动常见问题及命令
  2. 命令行方式安装nvidia显卡驱动
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
当使用nvidia-smi命令,出现"Failed to initialize NVML: Driver/library version mismatch"错误,这意味着您的显卡驱动与内核版本不匹配。该错误通常发生在系统自动更新了显卡驱动程序的情况下,而没有及同步更新内核。这是一个非人为因素导致的问题。 为了解决这个问题,有一种方法可以尝试,而不需要重启服务器。您可以通过卸载现有的NVIDIA驱动程序并重新安装匹配的驱动程序来解决版本不匹配的问题。以下是详细步骤: 1. 首先,您需要确定您正在使用的驱动程序的版本。使用以下命令检查已安装的NVIDIA驱动程序版本: ``` nvidia-smi ``` 2. 然后,根据您的驱动程序版本,访问NVIDIA官方网站(https://www.nvidia.com/drivers)下载相应的驱动程序,确保它与您的内核版本兼容。 3. 在下载并安装驱动程序之前,您需要通过卸载已安装的驱动程序来清理系统。使用以下命令卸载驱动程序: ``` sudo apt purge nvidia* ``` 4. 安装新的驱动程序。您可以使用以下命令进行安装: ``` sudo sh NVIDIA-Linux-x86_64-xxx.xx.run ``` 其中“NVIDIA-Linux-x86_64-xxx.xx.run”是您下载的驱动程序文件的名称。 5. 安装完成后,重新启动系统以使更改生效。 通过执行以上步骤,您应该能够解决"Failed to initialize NVML: Driver/library version mismatch"错误,并使nvidia-smi命令正常工作。请确保下载和安装适用于您的驱动程序版本和内核版本的正确驱动程序。 此外,您还可以使用以下命令来查看nvidia模块的使用情况: ``` lsmod | grep nvidia ``` 这将显示与nvidia相关的模块列表,以确认驱动程序是否正确加载。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [【nvidia-smiFailed to initialize NVML: Driver/library version mismatch解决方法(不用重启)](https://blog.csdn.net/qq_48081868/article/details/122349627)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值