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.
...
...
看第一行,没错,。
我们在安装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
立刻奏效。
来源:CSDN
作者:SpringHerald
链接:https://blog.csdn.net/bu2_int/article/details/103585209