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


Мой последовательный переезд с CentOS на Debian дошел до инсталляций с GPU.

Для начала проверим, что видеокарт у нас установлена:

lspci -nn | egrep -i "3d|display|vga"
01:00.0 VGA compatible controller [0300]: NVIDIA Corporation GA102 [GeForce RTX 3090] [10de:2204] (rev a1)

На Debian Nvidia можно поставить 2 способами:

1. Через стандартный пакетный менеджер.

Сразу оговорюсь, что в 535.183.01 у меня Ollama отказалась работать под docker.

Подробная инструкция по установке доступна в wiki.
Для моей системы это ссылка: https://wiki.debian.org/NvidiaGraphicsDrivers#Version_535.183.01-1

Не забываем установить исходник ядра (об этом написано в начале wiki):

apt install -t buster-backports linux-image-amd64
apt install linux-headers-$(uname -r)

Добавляем репозитарий:

cat /etc/apt/sources.list
# Debian Bookworm
deb http://deb.debian.org/debian/ bookworm main contrib non-free non-free-firmware

Устанавливаем драйвер:

apt install nvidia-driver firmware-misc-nonfree

В теории на данном этапе можно попробовать установить кастовую версию драйвера:

apt install nvidia-driver-XXX

Доставляем по инструкции nvidia-container-toolkit если собираемся работать с GPU из docker:
(https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/latest/install-guide.html)

curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg \
&& curl -s -L https://nvidia.github.io/libnvidia-container/stable/deb/nvidia-container-toolkit.list | \
sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' | \
tee /etc/apt/sources.list.d/nvidia-container-toolkit.list

sed -i -e '/experimental/ s/^#//g' /etc/apt/sources.list.d/nvidia-container-toolkit.list

apt install -y nvidia-docker2

apt-get install -y nvidia-container-toolkit

nvidia-ctk runtime configure --runtime=docker

systemctl restart docker

Если этого не сделать, то скорее всего у вас будет ошибка:

docker: Error response from daemon: could not select device driver "" with capabilities: [[gpu]].

Проверяем:

docker run --rm --gpus all nvidia/cuda:11.6.2-base-ubuntu20.04 nvidia-smi

или

nvidia-container-cli -k -d /dev/tty info

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

apt-get remove --purge '^nvidia-.*'
apt-get remove --purge '^libnvidia-.*'
apt-get remove --purge '^cuda-.*'

2. Установка драйверов Nvidia с официального сайта:

Способ считается менее предпочтительным, так как драйвер самостоятельно не обновляются.
Но по мне предоставляет более широкий выбор версий драйверов.

  • Проходим по ссылке: https://www.nvidia.com/en-us/drivers/unix/
  • Скачиваем драйвер под вашу архитектуру:
    У меня завелась следующая версия — NVIDIA-Linux-x86_64-570.144.run
  • Аналогично инструкции не забываем установить исходник ядра
  • Аналогично инструкции выше доставляем nvidia-container-toolkit
  • Производим проверку.

    Пример оформления docker-compose.yml, например для Ollama:

    services:
      ollama:
        image: ollama/ollama:0.6.8
        container_name: ollama.loc
        hostname: ollama.loc
        ports:
          - 7869:7869
          - 11434:11434
        volumes:
          - /mnt/data/app/ollama/code:/code
          - /mnt/data/app/ollama/.ollama:/root/.ollama    
        deploy:
          resources:
            reservations:
              devices:
              - driver: nvidia
                capabilities: [gpu]
                count: all
        tty: true
        restart: always
        environment:
          - OLLAMA_KEEP_ALIVE=24h
          - OLLAMA_HOST=0.0.0.0
    
Вы можете оставить комментарий ниже.

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

Вы должны Войти, чтобы оставить комментарий.