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

vam*_*mbo 24 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
Run Code Online (Sandbox Code Playgroud)

版本信息:

$ 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) 
Run Code Online (Sandbox Code Playgroud)

类似问题的解决方案一直在更新nvidia显示驱动程序,尽管在我的情况下已经完成了.有没有人有任何想法?谢谢.

vam*_*mbo 22

运行

sudo apt-get purge nvidia-*
Run Code Online (Sandbox Code Playgroud)

并使用重新安装驱动程序

sudo apt-get install nvidia-375

解决了它.仅供记录,我第一次使用GUI更新驱动程序(软件和更新中的附加驱动程序选项卡).


Hu *_*ixi 16

首先,从此处检查“ 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

  • 检查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 7.3.1 cuda9.2_0
    您可能会发现虚拟环境中的cuda版本不同于本地cuda版本,并且与驱动程序版本不兼容nvidia-390

因此,请在虚拟环境中重新安装cuda:

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