Как мне установить драйверы NVIDIA и CUDA в Ubuntu?

РЕДАКТИРОВАТЬ: Я добавил новый ответ ниже для Ubuntu 20.04 LTS и CUDA 11.1.1. См. Ниже.


У меня есть система с картой NVIDIA, которая имеет вычислительную поддержку 3,5 + по сравнению с https://developer.nvidia.com/cuda-gpus. Как мне установить CUDA и драйверы NVIDIA в Ubuntu, не загружая файлы .deb от NVIDIA?

Драйверы Ubuntu 18.04, CUDA 10.1, libcudnn 7.5.1 и NVIDIA 418,67


Записи

  • 2021-01-07: Пожалуйста, используйте приведенную ниже установку 20.04, продвигаясь вперед, поскольку шаги одинаковы как для 18.04, так и для 20.04.

  • 2019-06-23: Последние обновления с версиями CUDA 10.0 или 10.1 драйвер NVIDIA 418.67, который устанавливается вместе с ним, больше не включает 32-разрядные библиотеки, и это приведет к тому, что Steam и большинство игр перестанут работать. Версия о libnvidia-gl-418:i386 устанавливается только версия 418.56, которая не будет работать с драйвером 418.67. Надеюсь, NVIDIA скоро выпустит обновление для этого. Я добавил информацию в нижней части этого ответа в .run file install часть того, как загрузить только файл запуска для установщика CUDA, затем вы можете использовать любой драйвер, который захотите. Размер файла запуска составляет 2,3 ГБ, поэтому загрузка может занять некоторое время.

  • CUDA 9.x недоступна через репозиторий ubuntu1804 от NVIDIA. Однако я написал ответ для CUDA 9.2 по адресу https://askubuntu.com/a/1086993/231142


Установка CUDA через репозиторий (вместо .deb установка)

Следующие строки вы можете скопировать и вставить в окно терминала. Нажмите Ctrl+Alt+T чтобы открыть окно терминала.

Удаление и обновление

Удалите все CUDA PPA, которые могут быть настроены, а также удалите nvidia-cuda-toolkit если установлен:

sudo rm /etc/apt/sources.list.d/cuda*sudo apt remove --autoremove nvidia-cuda-toolkit

Рекомендуется также удалить все драйверы NVIDIA перед установкой новых драйверов:

sudo apt remove --autoremove nvidia-*

Затем обновите систему:

sudo apt update

Добавление и установка

Недавно я только что узнал, что установка CUDA работает с graphics-drivers ppa так что, если вы еще не добавили его, добавьте его сейчас:

sudo add-apt-repository ppa:graphics-drivers/ppasudo apt update

Установите драйвер NVIDIA. Для этого мы собираемся использовать драйвер 440

sudo apt install nvidia-driver-440

Теперь установите ключ:

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

Добавьте репозитории:

sudo bash -c 'echo "deb http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64 /" > /etc/apt/sources.list.d/cuda.list'sudo bash -c 'echo "deb http://developer.download.nvidia.com/compute/machine-learning/repos/ubuntu1804/x86_64 /" > /etc/apt/sources.list.d/cuda_learn.list'

Обновите систему еще раз:

sudo apt update

Установите CUDA 10.1:

sudo apt install cuda-10-1

Он должен устанавливать драйверы NVIDIA 418.40 вместе с ним, поскольку они перечислены в репозитории. Видеть: http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/

Установить libcudnn7 7.5.1:

sudo apt install libcudnn7

Настройка среды и перезагрузка

Добавьте следующие строки в свой ~/.profile файл для CUDA 10.1

# set PATH for cuda 10.1 installationif [ -d "/usr/local/cuda-10.1/bin/" ]; then    export PATH=/usr/local/cuda-10.1/bin${PATH:+:${PATH}}    export LD_LIBRARY_PATH=/usr/local/cuda-10.1/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}fi

Перезагрузите компьютер.

Проверьте свои настройки

Проверьте компилятор NVIDIA Cuda с помощью nvcc --version:

nvcc: NVIDIA (R) Cuda compiler driverCopyright (c) 2005-2019 NVIDIA CorporationBuilt on Wed_Apr_24_19:10:27_PDT_2019Cuda compilation tools, release 10.1, V10.1.168

Проверьте версию libcudnn /sbin/ldconfig -N -v $(sed 's/:/ /' <<< $LD_LIBRARY_PATH) 2>/dev/null | grep libcudnn:

terrance@terrance-ubuntu:~$ /sbin/ldconfig -N -v $(sed 's/:/ /' <<< $LD_LIBRARY_PATH) 2>/dev/null | grep libcudnn    libcudnn.so.7 -> libcudnn.so.7.5.1

Проверьте драйвер NVIDIA с помощью nvidia-smi:

terrance@terrance-ubuntu:~$ nvidia-smiWed Jan 29 12:41:02 2020       +-----------------------------------------------------------------------------+| NVIDIA-SMI 440.48.02    Driver Version: 440.48.02    CUDA Version: 10.2     ||-------------------------------+----------------------+----------------------+| 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 750 Ti  Off  | 00000000:02:00.0  On |                  N/A || 40%   34C    P0     1W /  38W |    163MiB /  2000MiB |      1%      Default |+-------------------------------+----------------------+----------------------+                                                                               +-----------------------------------------------------------------------------+| Processes:                                                       GPU Memory ||  GPU       PID   Type   Process name                             Usage      ||=============================================================================||    0      1993      G   /usr/lib/xorg/Xorg                           158MiB ||    0      2502      G   compton                                        1MiB |+-----------------------------------------------------------------------------+

.run установка файла

Установка драйвера

С помощью sudo add-apt-repository ppa:graphics-drivers/ppa вы можете установить 430.26 новейший драйвер или любой другой, который вам по вкусу.

Установить libcudnn7

Добавьте репозиторий:

sudo bash -c 'echo "deb http://developer.download.nvidia.com/compute/machine-learning/repos/ubuntu1804/x86_64 /" > /etc/apt/sources.list.d/cuda_learn.list'

Установите ключ:

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

Обновите систему:

sudo apt update

Установите libcudnn7.5.1:

sudo apt install libcudnn7

Загрузите .run файл

Теперь загрузите cuda_10.1.105_418.39_linux.run от https://developer.nvidia.com/cuda-10.1-download-archive-base?target_os=Linux&target_arch=x86_64&target_distro=Ubuntu&target_version=1804&target_type=runfilelocal

Если вы хотите CUDA 10.2, инструкции по загрузке находятся здесь: https://developer.nvidia.com/cuda-downloads ?target_os=Linux&target_arch=x86_64&target_distro=Ubuntu&target_version=1804&target_type=runfilelocal Затем выполните те же действия, что и ниже, но обязательно обновитесь до версии 10.2 вместо 10.1.

Затем запустите программу установки:

sudo sh cuda_10.1.105_418.39_linux.run

Введите "Принять" и нажмите "Ввод" на этом экране:

┌──────────────────────────────────────────────────────────────────────────────┐│  End User License Agreement                                                  ││  --------------------------                                                  ││                                                                              ││                                                                              ││  Preface                                                                     ││  -------                                                                     ││                                                                              ││  The Software License Agreement in Chapter 1 and the Supplement              ││  in Chapter 2 contain license terms and conditions that govern               ││  the use of NVIDIA software. By accepting this agreement, you                ││  agree to comply with all the terms and conditions applicable                ││  to the product(s) included herein.                                          ││                                                                              ││                                                                              ││  NVIDIA Driver                                                               ││                                                                              ││                                                                              ││  Description                                                                 ││                                                                              ││  This package contains the operating system driver and                       ││──────────────────────────────────────────────────────────────────────────────││ Do you accept the above EULA? (accept/decline/quit):                         ││ accept                                                                       

Снимите флажок с драйвера, а затем выберите Установить, используя клавиши со стрелками и пробел для перемещения и выбора или отмены выбора:

┌──────────────────────────────────────────────────────────────────────────────┐│ CUDA Installer                                                               ││ - [ ] Driver                                                                 ││      [ ] 418.39                                                              ││ + [X] CUDA Toolkit 10.1                                                      ││   [X] CUDA Samples 10.1                                                      ││   [X] CUDA Demo Suite 10.1                                                   ││   [X] CUDA Documentation 10.1                                                ││   Install                                                                    ││   Options                                                                    ││                                                                              ││                                                                              ││                                                                              ││                                                                              ││                                                                              ││                                                                              ││                                                                              ││                                                                              ││                                                                              ││                                                                              ││                                                                              ││                                                                              ││                                                                              ││ Up/Down: Move | Left/Right: Expand | 'Enter': Select | 'A': Advanced options │

Дождитесь завершения установки, во время нее могут появиться сообщения об ошибках, но не волнуйтесь.

Настройка среды и перезагрузка

Добавьте следующие строки в свой ~/.profile файл для CUDA 10.1

# set PATH for cuda 10.1 installationif [ -d "/usr/local/cuda-10.1/bin/" ]; then    export PATH=/usr/local/cuda-10.1/bin${PATH:+:${PATH}}    export LD_LIBRARY_PATH=/usr/local/cuda-10.1/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}fi

Перезагрузите систему, чтобы изменения вступили в силу.

Ubuntu 20.04 LTS, CUDA 11.5.0, NVIDIA 495 и libcudnn 8.0.4


Я не рекомендую устанавливать драйверы NVIDIA, поставляемые с CUDA, поскольку они не содержат драйверов dkms, которые переносятся в новые обновления ядра.

Репозитории Ubuntu теперь содержат те же драйверы, что и graphics-drivers ППА. Так что не стесняйтесь устанавливать 495.44 водители.

sudo apt install nvidia-driver-495

Перезагрузите систему, чтобы новый драйвер вступил в силу.

Теперь загрузите файл CUDA 11.5.0 .run от NVIDIA:

wget https://developer.download.nvidia.com/compute/cuda/11.5.0/local_installers/cuda_11.5.0_495.29.05_linux.run

Запустите программу .run файл в виде sudo:

sudo sh ./cuda_11.5.0_495.29.05_linux.run

Если вы получите следующее, просто выберите Continue:

┌──────────────────────────────────────────────────────────────────────────────┐│ Existing package manager installation of the driver found. It is strongly    ││ recommended that you remove this before continuing.                          ││ Abort                                                                        ││ Continue                                                                     ││                                                                             

Примите Лицензионное соглашение:

┌──────────────────────────────────────────────────────────────────────────────┐│  End User License Agreement                                                  ││  --------------------------                                                  ││                                                                              ││  NVIDIA Software License Agreement and CUDA Supplement to                    ││  Software License Agreement. Last updated: October 8, 2021                   ││                                                                              ││  The CUDA Toolkit End User License Agreement applies to the                  ││  NVIDIA CUDA Toolkit, the NVIDIA CUDA Samples, the NVIDIA                    ││  Display Driver, NVIDIA Nsight tools (Visual Studio Edition),                ││  and the associated documentation on CUDA APIs, programming                  ││  model and development tools. If you do not agree with the                   ││  terms and conditions of the license agreement, then do not                  ││  download or use the software.                                               ││                                                                              ││  Last updated: October 8, 2021.                                              ││                                                                              ││                                                                              ││  Preface                                                                     ││  -------                                                                     ││                                                                              ││──────────────────────────────────────────────────────────────────────────────││ Do you accept the above EULA? (accept/decline/quit):                         ││ accept                                                                       

Отмените выбор видеодрайвера, нажав клавишу пробела во время [X] Driver выделяется:

┌──────────────────────────────────────────────────────────────────────────────┐│ CUDA Installer                                                               ││ - [ ] Driver                                                                 ││      [ ] 495.29.05                                                           ││ + [X] CUDA Toolkit 11.5                                                      ││   [X] CUDA Samples 11.5                                                      ││   [X] CUDA Demo Suite 11.5                                                   ││   [X] CUDA Documentation 11.5                                                ││   Options                                                                    ││   Install                                                                    ││                                                                              ││                                                                              ││                                                                              ││                                                                              ││                                                                              ││                                                                              ││                                                                              ││                                                                              ││                                                                              ││                                                                              ││                                                                              ││                                                                              ││                                                                              ││ Up/Down: Move | Left/Right: Expand | 'Enter': Select | 'A': Advanced options │

Затем нажмите стрелку вниз, чтобы Install. Нажмите Enter затем дождитесь завершения установки.

После завершения установки добавьте следующее в нижнюю часть вашего ~/.profile или добавьте его в /etc/profile.d/cuda.sh файл, который вам, возможно, придется создать для всех пользователей (глобальный):

# set PATH for cuda 11.5 installationif [ -d "/usr/local/cuda-11.5/bin/" ]; then    export PATH=/usr/local/cuda-11.5/bin${PATH:+:${PATH}}    export LD_LIBRARY_PATH=/usr/local/cuda-11.5/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}fi

Установить libcudnn8

Добавьте репозиторий:

записка: Репозиторий 20.04 от NVIDIA не предоставляет libcudnn, но репозиторий 18.04 предоставляет и отлично устанавливается в 20.04.

echo "deb http://developer.download.nvidia.com/compute/machine-learning/repos/ubuntu1804/x86_64 /" | sudo tee /etc/apt/sources.list.d/cuda_learn.list

Установите ключ:

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

Обновите систему:

sudo apt update

Установите libcudnn 8.0.4:

sudo apt install libcudnn8

Теперь я рекомендую перезагрузить систему, чтобы изменения вступили в силу.

После перезагрузки проверьте установки:

~$ nvidia-smiThu Nov 18 07:31:31 2021       +-----------------------------------------------------------------------------+| NVIDIA-SMI 495.44       Driver Version: 495.44       CUDA Version: 11.5     ||-------------------------------+----------------------+----------------------+| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC || Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. ||                               |                      |               MIG M. ||===============================+======================+======================||   0  NVIDIA GeForce ...  Off  | 00000000:01:00.0  On |                  N/A || 40%   38C    P8     1W /  38W |    310MiB /  2000MiB |      4%      Default ||                               |                      |                  N/A |+-------------------------------+----------------------+----------------------+                                                                               +-----------------------------------------------------------------------------+| Processes:                                                                  ||  GPU   GI   CI        PID   Type   Process name                  GPU Memory ||        ID   ID                                                   Usage      ||=============================================================================||    0   N/A  N/A      2091      G   /usr/lib/xorg/Xorg                 46MiB ||    0   N/A  N/A      2680      G   /usr/lib/xorg/Xorg                163MiB ||    0   N/A  N/A      2906      G   compton                             1MiB ||    0   N/A  N/A      3262      G   /opt/waterfox/waterfox             85MiB |+-----------------------------------------------------------------------------+

и проверьте установку CUDA:

~$ nvcc -Vnvcc: NVIDIA (R) Cuda compiler driverCopyright (c) 2005-2021 NVIDIA CorporationBuilt on Mon_Sep_13_19:13:29_PDT_2021Cuda compilation tools, release 11.5, V11.5.50Build cuda_11.5.r11.5/compiler.30411180_0

и проверьте установку libcudnn:

~$ /sbin/ldconfig -N -v $(sed 's/:/ /' <<< $LD_LIBRARY_PATH) 2>/dev/null | grep libcudnn    libcudnn_cnn_infer.so.8 -> libcudnn_cnn_infer.so.8.0.4    libcudnn.so.8 -> libcudnn.so.8.0.4    libcudnn_adv_train.so.8 -> libcudnn_adv_train.so.8.0.4    libcudnn_ops_infer.so.8 -> libcudnn_ops_infer.so.8.0.4    libcudnn_cnn_train.so.8 -> libcudnn_cnn_train.so.8.0.4    libcudnn_adv_infer.so.8 -> libcudnn_adv_infer.so.8.0.4    libcudnn_ops_train.so.8 -> libcudnn_ops_train.so.8.0.4

Я просто хочу добавить альтернативное решение, которое в конечном итоге оказывается намного проще и модульнее, ИМХО: используйте образы CUDA docker от Nvidia!

Для этого требуется рабочий (проприетарный) драйвер на хост-компьютере, который можно установить из репозиториев Ubuntu (nvidia-driver-470 является последней поддерживаемой версией драйвера для CUDA compute 3.5).

  1. sudo apt install nvidia-driver-470
  2. Установите Docker и nvidia-docker2. Смотри это руководство от Nvidia; если вы используете Ubuntu 21+, вам нужно будет заменить $distribution с ubuntu2004 в этот шаг.
  3. Найдите нужный вам образ CUDA docker на Страница DockerHub от Nvidia; например, если вам нужны CUDA 11.4.2 и cuDNN 8, вы могли бы запустить
    $ docker pull nvidia/cuda:11.4.2-cudnn8-devel-ubuntu20.04
  4. Теперь запустите контейнер из этого образа, подключив свои графические процессоры:
    $ docker run -it --rm --gpus all nvidia/cuda:11.4.2-cudnn8-devel-ubuntu20.04
    Вы должны убедиться, что контейнер может видеть ваш графический процессор, запустив nvidia-smi, который покажет тот же результат, который вы получите при запуске nvidia-smi НЕ внутри Docker.

Не совершай ошибки.

Загрузите файл .deb раз и навсегда.

Я скачал файл .run и установил его. Но, как только я попытался установить tensorrt, оказалось, что он не может быть установлен вместе с ним.

Я смог установить его только после того, как был установлен драйвер nvidia .deb.

Для всех, кто работает с AWS deep learning base AMI:
Изображение поставляется с несколькими встроенными средами NVIDIA CUDA и по умолчанию работает с одной из них (в моем случае 10), но вы можете переключиться на любую другую, просто изменив символическую ссылку:

$ sudo rm /usr/local/cuda$ sudo ln -s /usr/local/cuda-10.2 /usr/local/cuda

Дополнительная информация:
https://docs.aws.amazon.com/dlami/latest/devguide/tutorial-base.html