解决nvidia-smi:Failed to initialize NVML: Driver/library version mismatch的问题

3,313 阅读2分钟

最近准备在服务器上,对cuda文件进行编译调试,发现nvcc命令不存在,就按照教程在线安装了cuda。安装完成后,在终端进行:

watch -n 0.1 nvidia-smi

时候报错,信息如下:

Failed to initialize NVML: Driver/library version mismatch

当时就呆了,以为系统被自己搞坏,要重装了。据说NVIDIA的驱动很难安装的,在网上搜了一圈怎么重装系统,突然看到有人说:“重启下机器就好了”。

然后解决的办法是: 重启。。。重启。。。

还好虚惊一场,最后命令又能使了。

分配的新电脑,ubuntu18.04系统,nvidia的驱动都装好了,但是使用指令:

nvidia-smi

报错:

Failed to initialize NVML: Driver/library version mismatch

安装gpustat也显示找不到gpu,且cuda,深度学习gpu均不行

原因是:NVIDIA 内核驱动版本与系统驱动不一致,

尝试调整系统的驱动版本:

ubuntu桌面->左下角九宫格->software & update->additional Drivers,这里发现我的计算机不能更改驱动版本,灰色不可选。显示manual。。。

按照网上方法尝试

sudo rmmod nvidia

也不行,各种mod在使用中,进入无桌面的linux环境,kill掉多个进程,发现nvidia-pm始终kill不掉,此方法在我电脑上不可行。

花费了好几个小时尝试,最后解决方法为:

1.卸载驱动

sudo apt-get purge nvidia*

2.查找可用的驱动版本

ubuntu-drivers devices

查找本机内核版本:

cat /proc/driver/nvidia/version

发现为440.33.01

于是尝试安装440版本的驱动:

sudo apt-get install nvidia-driver-440 nvidia-settings nvidia-prime

然而安装失败,某些包不匹配,系统解决不了错误,卡了一会时间。

最终尝试安装415版本的,安装成功了

sudo apt-get install nvidia-driver-415 nvidia-settings nvidia-prime

3. 调整系统的驱动

ubuntu桌面->左下角九宫格->software & update->additional Drivers。

现在可用更改gpu驱动,我这里选择了nvidia-driver-440(可能尝试其他也可以)。

点击apply changes,然后安装结束重启,

输入

nvidia-smi

 

网址参考:

  1. www.jianshu.com/p/c87fcf164…
  2. my.oschina.net/wangsifangy…
  3. stackoverflow.com/questions/4…
  4. stackoverflow.com/questions/4…
  5. www.cnblogs.com/cofludy/p/8…