Перейти к содержанию

Установка драйверов NVIDIA и CUDA на Ubuntu Linux

В этой статье

Данная инструкция описывает процесс установки драйверов видеокарт NVIDIA и CUDA на следующие операционные системы: Ubuntu 22.04.

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

  1. Обновляем систему:

    sudo apt update
    sudo apt upgrade -y
    
  2. Для видеокарт RTX4xxx серии, A100 и H100 необходимо обновить версию ядра. Также вы можете обновить версию ядра и для более старых видеокарт:

    sudo apt install linux-generic-hwe-22.04
    
  3. Устанавливаем пакет ubuntu-drivers-common и определяем рекомендуемый драйвер для установки:

    sudo apt install ubuntu-drivers-common
    ubuntu-drivers devices
    

    Вы должны получить вывод, похожий на этот:

    user@48567:~$ ubuntu-drivers devices
    == /sys/devices/pci0000:00/0000:00:02.5/0000:07:00.0 ==
    modalias : pci:v000010DEd000024B0sv000010DEsd000014ADbc03sc00i00
    vendor   : NVIDIA Corporation
    model    : GA104GL [RTX A4000]
    driver   : nvidia-driver-550 - third-party non-free recommended
    driver   : nvidia-driver-550-open - third-party non-free
    driver   : nvidia-driver-470-server - distro non-free
    driver   : nvidia-driver-535-server - distro non-free
    driver   : nvidia-driver-470 - distro non-free
    driver   : nvidia-driver-545-open - distro non-free
    driver   : nvidia-driver-535-server-open - distro non-free
    driver   : nvidia-driver-535-open - distro non-free
    driver   : xserver-xorg-video-nouveau - distro free builtin
    

    Нужная версия драйвера будет отмечена надписью recommended. В нашем случае это driver : nvidia-driver-550 - third-party non-free recommended, значит нам нужно поставить драйвера nvidia-driver-550.

  4. Устанавливаем драйвер видеокарты указанной версии:

    sudo apt install nvidia-driver-550
    
  5. Перезагружаем систему.

  6. Проверяем установку драйверов на видеокарту:

    nvidia-smi
    

    Вы должны получить вывод, похожий на этот

    user@48567:~$ nvidia-smi
    Fri May 10 15:58:17 2024
    +-----------------------------------------------------------------------------------------+
    | NVIDIA-SMI 550.54.15              Driver Version: 550.54.15      CUDA Version: 12.4     |
    |-----------------------------------------+------------------------+----------------------+
    | 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 RTX A4000               Off |   00000000:07:00.0 Off |                  Off |
    | 41%   31C    P8             15W /  140W |       3MiB /  16376MiB |      0%      Default |
    |                                         |                        |                  N/A |
    +-----------------------------------------+------------------------+----------------------+
    
    +-----------------------------------------------------------------------------------------+
    | Processes:                                                                              |
    |  GPU   GI   CI        PID   Type   Process name                              GPU Memory |
    |        ID   ID                                                               Usage      |
    |=========================================================================================|
    |  No running processes found                                                             |
    +-----------------------------------------------------------------------------------------+
    

    Примечание

    Актуальную инструкцию по установке драйверов для GPU Nvidia под Ubuntu вы можете найти по этой ссылке

Устанавливаем CUDA

CUDA - параллельная платформа вычислений и модель программирования, разработанная NVIDIA, которая позволяет разработчикам использовать возможности современных GPU для обобщённых вычислений, анализа данных и приложений машинного обучения.

  1. Устанавливаем компилятор gcc, необходимый для сборки CUDA

    sudo apt install gcc
    
  2. Качаем и устанавливаем CUDA

    wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/cuda-keyring_1.1-1_all.deb
    sudo dpkg -i cuda-keyring_1.1-1_all.deb
    sudo apt update
    sudo apt install cuda -y
    
  3. Прописываем переменные окружения для обнаружения CUDA вашими фреймворками и приложениями в .bashrc:

    export PATH=/usr/local/cuda/bin${PATH:+:${PATH}}
    export LD_LIBRARY_PATH=/usr/local/cuda-12.2/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
    

    Внимание

    Вы должны выполнить данные команды для всех пользователей, которым нужно использовать CUDA.

  4. Перезагружаем систему.

  5. Проверяем установку CUDA:

    nvcc -V
    

    После правильной установки вы должны получить вывод, похожий на этот:

    user@48567:~$ nvcc -V
    nvcc: NVIDIA (R) Cuda compiler driver
    Copyright (c) 2005-2024 NVIDIA Corporation
    Built on Thu_Mar_28_02:18:24_PDT_2024
    Cuda compilation tools, release 12.4, V12.4.131
    Build cuda_12.4.r12.4/compiler.34097967_0
    

Установка драйверов и CUDA "за 1 клик".

Вы можете использовать данный скрипт для автоматической установки драйверов и CUDA.

#!/bin/bash

# Update and upgrade the system using apt
sudo apt update
sudo apt upgrade -y

# Check if there's a video card with H100 model (2330 GH100 [H100 SXM5 80GB]
if lspci -nnk | grep -q "[10de:2330]"; then
  # If yes, install the necessary kernel package
  sudo apt install -y linux-generic-hwe-22.04
fi

# Install Ubuntu drivers common package
sudo apt install ubuntu-drivers-common -y

recommended_driver=$(ubuntu-drivers devices | grep 'nvidia' | cut -d ',' -f 1 | grep 'recommended')
package_name=$(echo $recommended_driver | awk '{print $3}')
sudo apt install $package_name -y

# Install GCC compiler for CUDA install
sudo apt install gcc -y

# Get the release version of Ubuntu
RELEASE_VERSION=$(lsb_release -rs | sed 's/\([0-9]\+\)\.\([0-9]\+\)/\1\2/')

# Download and install CUDA package for Ubuntu
wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu${RELEASE_VERSION}/x86_64/cuda-keyring_1.1-1_all.deb
sudo dpkg -i cuda-keyring_1.1-1_all.deb

# Update and upgrade the system again to ensure all packages are installed correctly
sudo apt update
sudo apt install cuda -y
sudo apt install nvidia-cuda-toolkit -y

# Add PATH and LD_LIBRARY_PATH environment variables for CUDA in .bashrc file
echo 'export PATH=/usr/local/cuda/bin\${PATH:+:\${PATH}}' >> ~/.bashrc
echo 'export LD_LIBRARY_PATH=/usr/local/cuda-12.2/lib64\${LD_LIBRARY_PATH:+:\${LD_LIBRARY_PATH}}' >> ~/.bashrc