我手动安装了最新的nvidia驱动程序(375.26),并使用cuda_8.0.44_linux.run安装了CUDA(跳过驱动程序安装在那里,因为捆绑的驱动程序较旧,我认为是367)。
在CUDA示例中运行deviceQuery会产生以下错误:
~/cudasamples/NVIDIA_CUDA-8.0_Samples/1_Utilities/deviceQuery$ ./deviceQuery
./deviceQuery Starting...
CUDA Device Query (Runtime API) version (CUDART static linking)
cudaGetDeviceCount returned 35
-> CUDA driver version is insufficient for CUDA runtime version
Result = FAIL
版本信息:
$ nvcc --version
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2016 NVIDIA Corporation
Built on Sun_Sep__4_22:14:01_CDT_2016
Cuda compilation tools, release 8.0, V8.0.44
$ nvidia-smi
Sat Dec 31 17:25:03 2016
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 375.26 Driver Version: 375.26 |
|-------------------------------+----------------------+----------------------+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
|===============================+======================+======================|
| 0 GeForce GTX 1080 Off | 0000:01:00.0 On | N/A |
| 0% 39C P8 11W / 230W | 464MiB / 8110MiB | 1% Default |
+-------------------------------+----------------------+----------------------+
+-----------------------------------------------------------------------------+
| Processes: GPU Memory |
| GPU PID Type Process name Usage |
|=============================================================================|
| 0 974 G /usr/lib/xorg/Xorg 193MiB |
| 0 1816 G compiz 172MiB |
| 0 2178 G ...ignDownloads/Enabled/MaterialDesignUserMa 96MiB |
+-----------------------------------------------------------------------------+
$ cat /proc/driver/nvidia/version
NVRM version: NVIDIA UNIX x86_64 Kernel Module 375.26 Thu Dec 8 18:36:43 PST 2016
GCC version: gcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.4)
对类似问题的解决方案一直在更新nvidia显示驱动程序,尽管在我的情况下已经完成了。有没有人有任何想法?感谢。
答案 0 :(得分:19)
正在运行
sudo apt-get purge nvidia-*
并使用
重新安装驱动程序 sudo apt-get install nvidia-375
解决了它。仅供记录,我第一次使用GUI更新驱动程序(软件和更新中的附加驱动程序选项卡)。
答案 1 :(得分:4)
首先,检查here中的“ CUDA工具包和兼容的驱动程序版本”,并确保您的cuda工具包版本与您的cuda驱动程序版本兼容,例如如果您的驱动程序版本为nvidia-390
,则您的cuda版本必须低于CUDA 9.1
。
然后,回到这个问题。此问题是由于“您的cuda驱动程序版本与您的cuda版本不匹配,并且您的CUDA本地版本也可能与CUDA运行时版本(某些特定虚拟环境中的cuda版本)不同。”
当我尝试在由conda创建的“ tensorflow_gpuenv”环境下运行tensorflow-gpu并尝试测试“ gpu:0”设备是否工作时,遇到了相同的问题。我的驱动程序版本是nvidia-390
,并且我已经安装了cuda 9.0
,所以提出这个奇怪的问题没有任何意义。我终于找到了在conda虚拟环境中的cuda版本是cuda 9.2
与nvidia-390
不兼容的原因。我通过遵循ubuntu 18.04
中的步骤解决了该问题:
~$ nvidia-smi
或~$ cat /proc/driver/nvidia/version
~$ nvcc --version
或~$ cat /usr/local/cuda/version.txt
检查本地Cudnn版本
~$ cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2
在虚拟环境中检查 cuda版本
~$ conda list
您会看到类似这样的内容:
cudatoolkit 9.2 0
cudnn 3.1 7.3.1 cuda9.2_0
您可能会发现虚拟环境中的cuda版本与本地cuda版本不同,并且与驱动程序版本nvidia-390
不兼容。
因此,请在虚拟环境中重新安装cuda:
~$ conda install cudatoolkit=8.0
答案 2 :(得分:2)
我已按照此页面上的说明进行操作,对我有用。
首先,下载适用于Linux Ubuntu 16.04 x86_64的安装程序。
接下来,请按照以下步骤安装Linux Ubuntu:
sudo dpkg -i cuda-repo-ubuntu1604_9.2.148-1_amd64.deb
sudo apt-key adv --fetch-keys http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1604/x86_64/7fa2af80.pub
sudo apt-get update
sudo apt-get install cuda
答案 3 :(得分:1)
我的分,
问题可能与所选的GPU模式(性能/省电模式)有关。 Perfomance模式使用Nvidia GPU,省电模式更改为Intel Integrated GPU。当你选择(使用nvidia-settings
实用程序,在" PRIME配置文件"配置中)省电模式(集成的Intel GPU)并执行deviceQuery
脚本...你得到这个错误:
-> CUDA driver version is insufficient for CUDA runtime version
但是这个错误是误导性的, 通过选择使用 nvidia-settings 实用程序支持效果模式(NVIDIA GPU),问题就会消失。
在我的情况下我没有驱动程序版本问题但我只需要重新启用Nvidia GPU。
此致
P.s:当安装Prime-related-stuff时,您可以选择(您需要Nvidia专有驱动程序)。更多详情:https://askubuntu.com/questions/858030/nvidia-prime-in-nvidia-x-server-settings-in-16-04-1
答案 4 :(得分:1)
我在Ubuntu 16.04上遇到了这个错误,因为我还在使用开源的X.Org视频驱动程序。当我切换到NVIDIA二进制驱动程序时,错误就消失了。
我打开系统设置,然后点击软件和设备,找到驱动程序设置。更新。视频驱动程序位于“附加驱动程序”选项卡上。
答案 5 :(得分:0)
关于#Fabiano-Tarlao的答案,如果您已经安装了所需的NVidia驱动程序,则可以使用以下命令从Linux命令行中选择它:
sudo首选NVIDIA
答案 6 :(得分:0)
我也遇到同样的问题。我在Ubuntu 18.04.2 LTS上安装了nvidia-390版本。我的显卡是GeForce GTX 1080,并使用tensorflow 1.12.0。 我通过删除旧版本成功解决了这个问题:
sudo apt-get purge nvidia-*
然后安装版本418
sudo apt-get install nvidia-driver-418 nvidia-settings
答案 7 :(得分:0)
我有类似的问题。我正在使用anaconda,通过conda安装keras-gpu后,它会自动获取最新版本的cuda,该版本与我的系统不兼容。
您可以通过
conda list
在我的情况下,受支持的版本是10.0,但是anaconda安装了最新的版本10.1。 如果是这种情况,则需要在anaconda环境中使用受支持的版本重新安装cuda。
答案 8 :(得分:0)
在实验期间(Ubuntu 18.04 LTS-在Thinkpad 470s-NVIDIA GeForce 940MX上),我了解到的是表2。网站(https://docs.nvidia.com/cuda/cuda-toolkit-release-notes/index.html的发行说明部分中的CUDA工具包和兼容驱动程序版本为安装CUDA驱动程序时需要牢记的最重要的信息。
此外,您可以通过检查命令来比较NVIDIA驱动程序版本和表格是否处于同步状态
$nvidia-smi
最新的输出看起来像这样
NVIDIA-SMI 450.66驱动程序版本:450.66 CUDA版本:11.0
一切就绪后,您可以通过复制示例并按如下所示运行它们来使其工作
$ cp -r /usr/src/cudnn_samples_v8/ .
$ cd cudnn_samples_v8/
$ cd mnistCUDNN/
$ make clean && make
$ ./mnistCUDNN
您将得到的结果为...
执行中:mnistCUDNN cudnnGetVersion():8003,来自cudnn.h的CUDNN_VERSION:8003(8.0.3) 主机编译器版本:GCC 9.3.0
您的计算机上有1个支持CUDA的设备: 设备0:短信3功能5.0,SmClock 1189.0 Mhz,MemSize(Mb)2004,MemClock 2505.0 Mhz,Ecc = 0,boardGroupID = 0 使用设备0 .....
Softmax产生的权重: 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000714 0.0000000 0.0000000 0.0000000 0.0000000 加载图像数据/five_28x28.pgm 执行前向传播... Softmax产生的权重: 0.0000000 0.0000008 0.0000000 0.0000002 0.0000000 1.0000000 0.0000154 0.0000000 0.0000012 0.0000006
分类结果:1 3 5
测试通过!
在意识到NVIDIA驱动程序和CUDA版本之间的相关性之前,我必须尝试至少5-6次,然后所有这些都可以在下一次尝试中起作用。但是,尽管如此,它还是有一个非常幸福的结局。