Какая верная версия CUDA для моего драйвера nvidia?

Я использую Ubuntu 14.04. Я хочу установить CUDA. Но я не знаю, какая версия хороша для моего ноутбука. Я прослеживаю свой драйвер, который:

$cat /proc/driver/nvidia/version

NVRM version: NVIDIA UNIX x86_64 Kernel Module  304.125  Mon Dec  1 19:58:28 PST 2014
GCC version:  gcc version 4.8.2 (Ubuntu 4.8.2-19ubuntu1) 

Я пытался установить CUDA cuda-linux64-rel-7.0.28-19326674, но когда я тестировал по команде:

./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

Не могли бы вы помочь мне решить эту проблему? Я много раз переустанавливал свою Ubuntu.

Ответ 1

304.xx - это драйвер, который будет поддерживать CUDA 5 и более ранние версии (не поддерживает более новые версии CUDA.)

Если вы хотите переустановить Ubuntu для создания чистой настройки, руководство по началу работы с Linux содержит все инструкции, необходимые для настройки CUDA, если вы этого хотите.

Я полагаю, что вы выбираете драйвер 304.xx с помощью специальной (т.е. отдельной) установки драйвера. В этом нет необходимости, если вы хотите использовать CUDA 7, вы можете просто использовать метод установки runfile, в котором есть все необходимые компоненты, включая соответствующий драйвер (346.46). Обратите внимание, что CUDA 7 не будет использоваться со старыми графическими процессорами CUDA с вычислительными возможностями 1.x. Для этих графических процессоров CUDA 6.5 должен работать. Начиная с CUDA 9.x, старые графические процессоры CUDA с вычислительной способностью 2.x также не поддерживаются. Старые наборы инструментов CUDA доступны для загрузки здесь. Обратите внимание, что любой данный набор инструментов CUDA имеет определенные дистрибутивы Linux (включая номер версии), которые поддерживаются. Не все дистрибутивы поддерживаются в каждой версии инструментария CUDA. Общая матрица поддержки содержится в руководстве по установке linux для конкретной интересующей версии CUDA.

Для справки: в Linux для предыдущих наборов инструментов CUDA требовались следующие минимальные версии драйверов:

CUDA 10.1: 418.39
CUDA 10.0: 410.48
CUDA  9.2: 396.xx
CUDA  9.1: 390.xx (update)
CUDA  9.0: 384.xx
CUDA  8.0  375.xx (GA2)
CUDA  8.0: 367.4x
CUDA  7.5: 352.xx
CUDA  7.0: 346.xx
CUDA  6.5: 340.xx
CUDA  6.0: 331.xx
CUDA  5.5: 319.xx
CUDA  5.0: 304.xx
CUDA  4.2: 295.41
CUDA  4.1: 285.05.33
CUDA  4.0: 270.41.19
CUDA  3.2: 260.19.26
CUDA  3.1: 256.40
CUDA  3.0: 195.36.15

Часть этой таблицы поддерживается как Таблица 1 здесь в заметках о выпуске.

Ответ 2

версия драйвера - это только половина уравнения совместимости. Другая половина - это вычислительные возможности. Графический процессор будет поддерживать определенную вычислительную версию, и если минимальные вычислительные возможности вашей версии CUDA выше, чем поддерживаемые вашим графическим процессором, ваш код не будет компилироваться или выполняться. Например, на моем ноутбуке установлен графический процессор nVidia CUDA 2.1, что означает, что я не могу установить инструментарий CUDA более поздний, чем CUDA 8.0 GA2. Это, в свою очередь, означает, что мне нужно установить драйвер nVidia, совместимый с моей версией CUDA.

CUDA Version        Minimum Compute Capability  Default Compute Capability
CUDA 10.0           3.0                         3.0
CUDA 9.2 update 1   3.0                         3.0
CUDA 9.2            3.0                         3.0
CUDA 9.1            3.0                         3.0
CUDA 9.0            3.0                         3.0
CUDA 8.0 GA2        2.0                         2.0
CUDA 8.0            2.0                         2.0
CUDA 7.5            2.0                         2.0
CUDA 7.0            2.0                         2.0
CUDA 6.5            1.1                         2.0
CUDA 6.0            1.0                         1.0
CUDA 5.5            1.0                         1.0
CUDA 5.0            1.0                         1.0
CUDA 4.2            1.0                         1.0
CUDA 4.1            1.0                         1.0
CUDA 4.0            1.0                         1.0
CUDA 3.2            1.0                         1.0
CUDA 3.1            1.0                         1.0
CUDA 3.0            1.0                         1.0

Третье, что вам может понадобиться рассмотреть, это совместимость компилятора. Например, минимальная версия компилятора gcc необходима для совместимости с конкретными версиями CUDA.