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

今早查看服务器的cuda版本信息,使用nvcc -V命令提示command not found。我没多想,就按照网上给的方法执行了sudo apt install nvidia-cuda-toolkit,然后就报错了:

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

我当场去世,上网一查可能是cuda被重装了,整个人都斯巴达了,赶忙采取补救措施。

>>> sudo dpkg --list | grep nvidia-*
ii  libnvidia-compute-450-server:amd64         450.51.06-0ubuntu0.18.04.2                      amd64        NVIDIA libcompute package
ii  nvidia-cuda-dev                            9.1.85-3ubuntu1                                 amd64        NVIDIA CUDA development files
ii  nvidia-cuda-doc                            9.1.85-3ubuntu1                                 all          NVIDIA CUDA and OpenCL documentation
ii  nvidia-cuda-gdb                            9.1.85-3ubuntu1                                 amd64        NVIDIA CUDA Debugger (GDB)
ii  nvidia-cuda-toolkit                        9.1.85-3ubuntu1                                 amd64        NVIDIA CUDA development toolkit
ii  nvidia-opencl-dev:amd64                    9.1.85-3ubuntu1                                 amd64        NVIDIA OpenCL development files
ii  nvidia-prime                               0.8.8                                           all          Tools to enable NVIDIA's Prime
ii  nvidia-profiler                            9.1.85-3ubuntu1                                 amd64        NVIDIA Profiler for CUDA and OpenCL
ii  nvidia-settings                            440.44-0ubuntu0.18.04.1                         amd64        Tool for configuring the NVIDIA graphics driver
ii  nvidia-visual-profiler                     9.1.85-3ubuntu1                                 amd64        NVIDIA Visual Profiler for CUDA and OpenCL
>>> cat /proc/driver/nvidia/version
NVRM version: NVIDIA UNIX x86_64 Kernel Module  440.64  Fri Feb 21 01:17:26 UTC 2020
GCC version:  gcc version 7.5.0 (Ubuntu 7.5.0-3ubuntu1~18.04)

查出来的两个显卡驱动版本果然不匹配,好家伙,我的440.64直接被更新成450了。

焦头烂额捣鼓了半天,最后有效的方法是:

  • 卸载驱动:
sudo apt-get purge nvidia*
  • 把显卡驱动加入ppa(个人软件包文档,仅支持Ubuntu):
sudo add-apt-repository ppa:graphics-drivers
sudo apt-get update
  • 重新安装驱动:
sudo apt-get install nvidia-driver-440 nvidia-settings nvidia-prime

此时再输入nvidia-smi,可以正常使用了。
PS:尽管我重装时指定了440,但驱动还是被更新成了450,nvidia-smi显示CUDA Version: 11.0。我在程序里测试了可以正常使用GPU,不知道版本更新后续会有什么影响,本次踩坑记录暂且到此结束。

参考链接:https://blog.csdn.net/anyang1996/article/details/107937898

  • 17
    点赞
  • 31
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
当使用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 ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值