安装CUDA后重启仍然失败:Failed to initialize NVML: Driver/library version mismatch after restart

倾然丶 夕夏残阳落幕 提交于 2019-12-17 22:58:32

Ubuntu安装CUDA后输入命令 nvidia-smi 报错:

Failed to initialize NVML: Driver/library version mismatch after restart

搜索引擎大部分结果是让你重启,或者不能重启的话卸载内核重新加载之类。但我试了一下不奏效,重启后还是一样的结果

找了半天原因之后终于知道了问题的关键,其实那一行错误已经提示得很明确了:内核和系统驱动不匹配。

输入命令 dmesg |grep NVRM ,结果如果提示kernel版本与driver版本不一致,就说明你遇到了和我一样的问题。

为什么会遇到这个问题呢?主要还是CUDA自己挖的坑,幸好我记了当时安装CUDA的日志:

Installing the NVIDIA display driver...
Installing the CUDA Toolkit in /home/ubuntu/software/cuda-9.0 ...
Missing recommended library: libXmu.so

Installing the CUDA Samples in /home/ubuntu/software ...
Copying samples to /home/boaoli/software/NVIDIA_CUDA-9.0_Samples now...
Finished copying samples.
...
...

看第一行,没错,CUDANVIDIA\color{red}{CUDA给你装了NVIDIA驱动!}
我们在安装cuda的时候,它会问你

Install NVIDIA Accelerated Graphics Driver for Linux-x86_64 384.81?
(y)es/(n)o/(q)uit: y

如果你输入yes,CUDA就会自动给你装一个和你原先显卡kernel版本不同的驱动,从而导致nvidia-smi问题出现。

解决方法其实很简单,重装一下nvidia和显卡内核版本相同的显卡驱动,可以不用卸载cuda给你装的那个。
nvidia显卡驱动下载链接:

https://us.download.nvidia.com/XFree86/Linux-x86_64/384.130/NVIDIA-Linux-x86_64-384.130.run

由于一些老版本的驱动可能找不到,建议直接修改链接去下载(我的版本是384.130),把链接中的两个384.130改成你的版本即可。

安装nvidia驱动教程:链接。安装的时候可能需要加上 –no-x-check

安装好后 nvidia-smi 立刻奏效。

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!