Ubuntu 16.04, CUDA 8 - версия драйвера CUDA недостаточна для версии исполнения CUDA

Я установил последние драйверы nvidia (375.26) вручную и установил CUDA с помощью cuda_8.0.44_linux.run (пропуская установку драйвера там, так как вложенные драйверы старше, 367, я думаю).

Однако запуск экземпляра deviceQuery в CUDA приводит к следующей ошибке:

~/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, хотя в моем случае это уже сделано. У кого-нибудь есть идеи? Благодарю.

Ответ 1

Бег

sudo apt-get purge nvidia-*

и переустановку драйверов с помощью

sudo apt-get install nvidia-375

решил это. Только для записи я впервые обновил драйверы, используя вкладку "Дополнительные драйверы" в разделе "Программное обеспечение и обновления".

Ответ 2

Во-первых, проверьте "Набор инструментов CUDA и совместимые драйверы" из здесь и убедитесь, что ваша версия набора инструментов cuda совместима с вашей версией драйвера cuda, например, если у вас версия драйвера nvidia-390, ваша версия cuda должна быть ниже, чем CUDA 9.1.
Затем вернемся к этой проблеме. Эта проблема вызвана тем, что "ваша версия драйвера cuda не совпадает с вашей версией cuda, и ваша локальная версия CUDA также может отличаться от версии времени выполнения CUDA (версия cuda в некоторых конкретных виртуальных средах".)
Я столкнулся с той же проблемой, когда попытался запустить tennsflow-gpu в среде "tenorflow_gpuenv", созданной conda, и попытался проверить, работает ли устройство "gpu: 0". Моя версия драйвера - nvidia-390, и я уже установил cuda 9.0, поэтому нет смысла поднимать эту странную проблему. Наконец-то я нашел причину того, что версия cuda в виртуальной среде conda - 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 & emsp; & emsp; & ЕПРС; 9,2 & emsp; & emsp; & ЕПРС; & ЕПРС; 0
    cudnn & emsp; & emsp; & ЕПРС; & ЕПРС; & ЕПРС; 7.3.1 & emsp; & emsp; & ЕПРС; cuda9.2_0
    вы можете обнаружить, что версия cuda в виртуальной среде отличается от локальной версии cuda и не совместима с версией драйвера nvidia-390.

Итак, переустановите CUDA в виртуальной среде:

  • переустановите cuda: ~$ conda install cudatoolkit=8.0
    (измените номер версии '8.0' на другой номер версии, который соответствует версии вашего драйвера, и ваша версия cudnn будет автоматически обновлена в соответствии с новой версией cuda)

Ответ 3

Я следил за инструкциями на этой странице, и это работает для меня.

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

Ответ 4

Мой цент,

проблема может быть связана с выбранным режимом графического процессора (режим производительности/энергосбережения). Режим Perfomance использует графический процессор Nvidia, а режим энергосбережения заменяется на интегрированный графический процессор Intel. Когда вы выбираете (используя утилиту nvidia-settings, в конфигурациях "PRIME Profiles") режим энергосбережения (встроенный графический процессор Intel) и deviceQuery сценарий deviceQuery... вы получаете эту ошибку:

-> CUDA driver version is insufficient for CUDA runtime version

Но эта ошибка вводит в заблуждение, и при повторном выборе Performance Mode (NVIDIA GPU) с утилитой nvidia-settings проблема исчезает.

В моем случае у меня не было проблемы с версией драйвера, но мне просто нужно повторно включить графический процессор Nvidia.

С уважением

Ps: выбор доступен, когда установлен Prime-related-stuff (вам нужен проприетарный драйвер Nvidia). Дополнительная информация: https://askubuntu.com/questions/858030/nvidia-prime-in-nvidia-x-server-settings-in-16-04-1

Ответ 5

Я получил эту ошибку на Ubuntu 16.04, потому что я все еще использовал видеодрайвер с открытым исходным кодом X.Org. Ошибка исчезла, когда я переключился на двоичный драйвер NVIDIA.

Я нашел настройки драйвера, открыв Системные настройки, затем нажав "Программное обеспечение и обновления". Драйверы видео находятся на вкладке Дополнительные драйверы.

Ответ 6

2019-01-31 21: 01: 47.529309: я tenorflow/core/platform/cpu_feature_guard.cc: 141] Ваш ЦП поддерживает инструкции, которые этот двоичный файл TensorFlow не был скомпилирован для использования: AVX AVX2 2019-01-31 21: 01: 48.210241: я tenorflow/core/common_runtime/gpu/gpu_device.cc: 1405] Найдено устройство 0 со свойствами: name: GeForce 920MX major: 5 minor: 0 memoryClockRate (GHz): 0.993 pciBusID: 0000: 01: 00.0 totalMemory: 2.00GiB freeMemory: 1.94GiB 2019-01-31 21: 01: 48.216240: я tenorflow/core/common_runtime/gpu/gpu_device.cc: 1484] Добавление видимых устройств GPU: 0 2019-01-31 21: 01: 48.220240: E tenorflow/core/common_runtime/direct_session.cc:158] Internal: cudaGetDevice() не выполнен. Состояние: версия драйвера CUDA недостаточна для версии трассировки CUDA (последний вызов был последним):

я сталкиваюсь с этой проблемой на окнах

Ответ 7

Со ссылкой на ответ # Fabiano-Tarlao, если вы уже установили требуемый драйвер NVidia, вы можете выбрать его из командной строки Linux, используя:

sudo prime-select nvidia

Ответ 8

Я был с той же проблемой. У меня была версия nvidia- 390, установленная на Ubuntu 18.04.2 LTS. Моя видеокарта - GeForce GTX 1080, использующая тензор потока 1.12.0. Я успешно решил эту проблему, удалив старую версию:

sudo apt-get purge nvidia-*

А потом установка версии 418

sudo apt-get install nvidia-driver-418 nvidia-settings

Ответ 9

У меня была похожая проблема. Я использую anaconda, после установки keras-gpu через conda, она автоматически взяла самую последнюю версию cuda, которая была несовместима с моей системой.

Вы можете просмотреть список установленных пакетов в Anaconda через

conda list

В моем случае поддерживаемая версия была 10.0, но anaconda установила последнюю версию 10.1. в этом случае вам необходимо переустановить cuda в среде anaconda с поддерживаемой версией.