Failed to initialize NVML: Driver/library version mismatch

问题描述


昨天跑代码,cuda还能好好的to(device),今天就不行了。输出torch.cuda.is_available()显示False,运行代码出现以下错误:

UserWarning:CUDA initialization:Unexpected error from cudaGetDeviceCount().


在终端输入nvidia-smi出现了以下错误

Failed to initialize NVML: Driver/library version mismatch


上网查询,发现了许多解决方法。为了更好的解决问题,并且避免再次出现,我对这些方法进行了简单的整理。希望能够帮到大家。

问题原因


我比较赞同这篇文章给出的解释:NVIDIA内核驱动版本与系统内核版本不一致
出现该问题的原因是:系统驱动自动更新
在终端输入:

cat /var/log/dpkg.log |grep nvidia


可以看到以下信息:

红框里指的是,系统驱动从470.141.03更新到了470.161.03。
此时在终端输入:

cat /proc/driver/nvidia/version


可以发现显卡驱动内核版本还是原来的版本(由于我已经更新过了,这里不再贴图)

解决方法1

重启服务器,在终端输入

sudo reboot


重启服务器之后内核会重新加载,并且与驱动版本一致。如下图所示,系统内核版本已经与驱动版本一致了。


解决方法2


退出当前内核显卡模块,重新加载更新后的驱动作为内核模块
具体步骤参考这篇文章。

解决方法3


卸载现有驱动,重新安装。
具体步骤参考这篇文章。

ps:本人重启之后,问题就解决了。没有尝试第二种与第三中方法,请大家根据自己的情况选择合适的方法。

本来文章到这里就要结束了,但是为了避免再次出现这样的问题,机智的博主们给出了一些解决方案。

后续解决


由于是系统驱动更新导致出现的问题,那么就有可能再次出现这样的问题。应该如何解决呢?

后续解决方案1


停止nvidia更新

后续解决方案2


找到是哪个程序更新的显卡驱动,停止该程序的更新

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 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-smi】Failed 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、付费专栏及课程。

余额充值