Ubuntu 16.04,CUDA 8 - CUDA驱动程序版本不适用于CUDA运行时版本

时间:2016-12-31 15:59:56

标签: ubuntu cuda

我手动安装了最新的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显示驱动程序,尽管在我的情况下已经完成了。有没有人有任何想法?感谢。

9 个答案:

答案 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.2nvidia-390不兼容的原因。我通过遵循ubuntu 18.04中的步骤解决了该问题:

  • 检查 cuda驱动程序版本
    ~$ nvidia-smi~$ cat /proc/driver/nvidia/version
  • 检查本地cuda版本
    ~$ 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:

  • 重新安装cuda:~$ conda install cudatoolkit=8.0
    (将版本号'8.0'更改为与您的驱动程序版本匹配的其他版本号,您的cudnn版本将自动更新以匹配新版本的cuda)

答案 2 :(得分:2)

我已按照此页面上的说明进行操作,对我有用。

https://developer.nvidia.com/cuda-downloads?target_os=Linux&target_arch=x86_64&target_distro=Ubuntu&target_version=1604&target_type=debnetwork

首先,下载适用于Linux Ubuntu 16.04 x86_64的安装程序。

接下来,请按照以下步骤安装Linux Ubuntu:

  1. sudo dpkg -i cuda-repo-ubuntu1604_9.2.148-1_amd64.deb

  2. sudo apt-key adv --fetch-keys http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1604/x86_64/7fa2af80.pub

  3. sudo apt-get update

  4. 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,该版本与我的系统不兼容。

您可以通过

查看anaconda中已安装软件包的列表。
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

enter image description here

enter image description here

一切就绪后,您可以通过复制示例并按如下所示运行它们来使其工作

$ 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,Ec​​c = 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次,然后所有这些都可以在下一次尝试中起作用。但是,尽管如此,它还是有一个非常幸福的结局。