Установка CUDA в Ubuntu и Debian: драйвер NVIDIA, CUDA Toolkit, cuDNN и проверка GPU
Чтобы установить CUDA в Ubuntu 26.04 или Debian 13, поставьте драйвер NVIDIA ветки 580 и новее, подключите репозиторий NVIDIA пакетом cuda-keyring и выполните apt install cuda-toolkit, затем добавьте /usr/local/cuda/bin в PATH. Если нужен только PyTorch или Ollama, toolkit не требуется: им хватает драйвера.

Содержание
Драйвер, CUDA Toolkit и cuDNN: что из этого вам нужно
Под словом "CUDA" прячутся три разные вещи, и половина проблем возникает из-за того, что их путают:
- Драйвер NVIDIA - модуль ядра и библиотека
libcuda. Он нужен всегда. Командаnvidia-smiиз его комплекта. - CUDA Toolkit - компилятор
nvcc, заголовки и библиотеки для сборки программ. Нужен, если вы компилируете код: llama.cpp, whisper.cpp, расширения PyTorch, свои программы на CUDA. - cuDNN - библиотека для нейросетей поверх CUDA. Нужна отдельным фреймворкам и сборкам из исходников.
Главное, что стоит знать заранее: PyTorch из pip, Ollama, LM Studio и большинство готовых программ приносят свои библиотеки CUDA с собой. Им достаточно свежего драйвера, toolkit ставить не надо. Если ваша цель - просто запустить нейросеть, хватит раздела про драйвер и раздела про PyTorch.
Ещё одна частая путаница: строка "CUDA Version" в шапке nvidia-smi показывает максимальную версию, которую поддерживает драйвер, а не установленный toolkit. Версию toolkit показывает nvcc --version, и она может быть ниже.
Актуальные версии и репозитории на октябрь 2026
Текущая ветка - CUDA 13.4 (вышло обновление Update 1), документация NVIDIA описывает драйвер ветки 615. CUDA 13 требует драйвер не ниже 580 и больше не собирает код для архитектур Maxwell, Pascal и Volta, то есть для GTX 900, GTX 1000 и Titan V. Владельцам таких карт нужна ветка CUDA 12.x.
| Система | Проверена NVIDIA | Ядро и GCC в проверке | Каталог репозитория NVIDIA | Пакет из своего репозитория |
|---|---|---|---|---|
| Ubuntu 26.04 LTS | 26.04.1 | 7.0, GCC 15.2 | ubuntu2604 | есть, версия отстаёт |
| Ubuntu 24.04 LTS | 24.04.4 | 6.17, GCC 14.3 | ubuntu2404 | nvidia-cuda-toolkit, ветка 12.x |
| Debian 13 | 13.6 | 6.12, GCC 14.2 | debian13 | nvidia-cuda-toolkit в non-free, ветка 12.x |
| Fedora 44 | 44 | 6.19, GCC 16 | fedora44 | нет, драйвер обычно из RPM Fusion |
Пакеты из репозитория дистрибутива проще в обслуживании, но версия там старше. Репозиторий NVIDIA даёт свежий toolkit и позволяет держать несколько версий рядом. Узнать, что доступно именно у вас, можно командой:
apt policy cuda-toolkit nvidia-cuda-toolkitПроверка видеокарты и системы перед установкой
lspci | grep -i nvidia
uname -r
gcc --version
mokutil --sb-stateПервая команда должна показать карту. Если включён Secure Boot, модуль ядра NVIDIA придётся подписать ключом MOK, иначе драйвер не загрузится. Как это сделать, описано в статье о драйверах и Secure Boot. Для сборки модулей нужны заголовки текущего ядра:
# Ubuntu
sudo apt install linux-headers-$(uname -r)
# Debian
sudo apt install linux-headers-amd64Шаг 1. Драйвер NVIDIA
В Ubuntu самый надёжный путь - утилита ubuntu-drivers. Она выберет ветку, проверенную Canonical, и сама поставит открытые модули ядра для карт Turing и новее:
sudo ubuntu-drivers list
sudo ubuntu-drivers install
sudo rebootАльтернатива - драйвер из репозитория NVIDIA (подключение репозитория описано в следующем разделе). Пакет nvidia-open ставит открытые модули ядра, cuda-drivers - проприетарные, которые нужны только для карт до Turing:
sudo apt install nvidia-openВ Debian 13 драйвер из собственного репозитория требует компонентов contrib, non-free и non-free-firmware в /etc/apt/sources.list.d/debian.sources. Ветка там зафиксирована на момент выхода релиза и может не дотягивать до 580, которая нужна CUDA 13. Для свежего toolkit в Debian проще брать драйвер nvidia-open из репозитория NVIDIA. Подробно все варианты разобраны в статье про установку драйвера NVIDIA.
После перезагрузки проверьте результат:
nvidia-smiДолжна появиться таблица с моделью карты, версией драйвера и строкой CUDA Version.
Шаг 2. CUDA Toolkit в Ubuntu 26.04 и 24.04
Подключите репозиторий NVIDIA через пакет cuda-keyring. Для Ubuntu 24.04 замените в адресе ubuntu2604 на ubuntu2404:
wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2604/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-toolkitПакет cuda-toolkit ставит последнюю версию и будет обновлять её дальше. Чтобы зафиксировать конкретную ветку, используйте пакет с номером, например cuda-toolkit-13-4. Несколько версий живут рядом в /usr/local/cuda-13.4, /usr/local/cuda-12.9 и так далее, а ссылка /usr/local/cuda указывает на выбранную.
Метапакет cuda-toolkit не трогает драйвер. Не ставьте вместо него метапакет cuda, если драйвер уже установлен через ubuntu-drivers: он потянет драйвер из репозитория NVIDIA, и две разные сборки начнут конфликтовать.
Если нужен вариант без стороннего репозитория, поставьте toolkit из архива Ubuntu. Версия будет старше, а nvcc окажется прямо в /usr/bin:
sudo apt install nvidia-cuda-toolkitСмешивать оба варианта не стоит: два разных nvcc в системе - надёжный способ получить непонятные ошибки сборки.
CUDA Toolkit в Debian 13 и Fedora 44
В Debian 13 сначала включите contrib, затем подключите репозиторий NVIDIA:
sudo add-apt-repository contrib
wget https://developer.download.nvidia.com/compute/cuda/repos/debian13/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-toolkit
sudo rebootЕсли команды add-apt-repository нет, допишите contrib в строку Components файла /etc/apt/sources.list.d/debian.sources вручную. В Fedora 44 репозиторий подключается через dnf:
sudo dnf config-manager addrepo --from-repofile=https://developer.download.nvidia.com/compute/cuda/repos/fedora44/x86_64/cuda-fedora44.repo
sudo dnf install cuda-toolkitВ Fedora драйвер обычно стоит из RPM Fusion (akmod-nvidia). Тогда из репозитория NVIDIA берите только toolkit, иначе пакеты драйверов из двух источников подерутся. Обратите внимание на компилятор: если nvcc ругается на неподдерживаемую версию GCC, проверьте таблицу совместимости в руководстве по установке CUDA.
Ошибка nvcc not found и настройка PATH
Toolkit из репозитория NVIDIA ставится в /usr/local/cuda-13.4, и эта папка не попадает в PATH сама. Поэтому сразу после установки nvcc --version отвечает "command not found", а Ubuntu ещё и советует поставить nvidia-cuda-toolkit. Этот совет не выполняйте, иначе получите второй, старый nvcc. Добавьте путь в ~/.bashrc:
echo 'export PATH=/usr/local/cuda/bin${PATH:+:${PATH}}' >> ~/.bashrc
source ~/.bashrc
nvcc --versionДля всех пользователей тот же export кладут в файл /etc/profile.d/cuda.sh. При установке из deb-пакетов пути к библиотекам прописываются автоматически, а LD_LIBRARY_PATH нужен только после установки runfile-установщиком. Подробнее о переменных окружения в статье про PATH.
Проверьте, что компилятор действительно собирает и запускает код на видеокарте:
cat > hello.cu <<'EOF'
#include <cstdio>
__global__ void k() { printf("GPU thread %d\n", threadIdx.x); }
int main() { k<<<1, 4>>>(); cudaDeviceSynchronize(); return 0; }
EOF
nvcc hello.cu -o hello
./helloЧетыре строки "GPU thread" означают, что драйвер, toolkit и карта работают вместе.
Шаг 3. cuDNN
cuDNN ставится из того же репозитория NVIDIA. Пакет выбирается под основную версию CUDA:
# для CUDA 13
sudo apt install cudnn9-cuda-13
# для CUDA 12
sudo apt install cudnn9-cuda-12
dpkg -l | grep cudnnДля PyTorch из pip отдельный cuDNN не нужен: он приезжает пакетом nvidia-cudnn внутри виртуального окружения. Системный cuDNN нужен для сборки из исходников и некоторых программ на C++.
PyTorch с поддержкой видеокарты
Ставьте PyTorch в виртуальное окружение. Колёса cu130 собраны с CUDA 13.0 и работают с любым драйвером ветки 580 и новее:
python3 -m venv ~/torch-env
source ~/torch-env/bin/activate
pip install torch torchvision --index-url https://download.pytorch.org/whl/cu130
python -c "import torch; print(torch.__version__, torch.version.cuda, torch.cuda.is_available(), torch.cuda.get_device_name(0))"Последняя строка должна вывести True и название карты. Для GTX 900 и GTX 1000 используйте индекс cu126: в сборках под CUDA 13 этих архитектур нет. Если нужна видеокарта внутри контейнеров, поставьте nvidia-container-toolkit, а сам Docker по инструкции об установке Docker.
Если torch.cuda.is_available() возвращает False, сначала посмотрите nvidia-smi. Не работает он - проблема в драйвере, и переустановка toolkit или PyTorch не поможет. Работает - почти всегда виноват PyTorch без CUDA, поставленный без --index-url или из другого окружения.
Типичные ошибки, удаление и откат
- NVIDIA-SMI has failed because it couldn't communicate with the NVIDIA driver. Модуль не загрузился. Проверьте
dkms status, заголовки ядра и Secure Boot. - Failed to initialize NVML: Driver/library version mismatch. Драйвер обновился, а в памяти старый модуль. Перезагрузитесь.
- unsupported GNU version при сборке. GCC новее, чем поддерживает ваш toolkit. Поставьте совместимый компилятор и передайте его nvcc ключом
-ccbin. - После обновления системы сломалось. Зафиксируйте версии:
sudo apt-mark hold cuda-toolkit-13-4 nvidia-open.
Полное удаление toolkit и cuDNN из репозитория NVIDIA:
sudo apt purge "cuda-*" "cudnn9-*" "libcudnn9*"
sudo apt autoremove
sudo rm /etc/apt/sources.list.d/cuda*.listДрайвер этими командами не удаляется, и это правильно: без него не будет графики. Если нужно вернуть драйвер из репозитория Ubuntu, удалите nvidia-open и снова выполните sudo ubuntu-drivers install.
Частые вопросы
Нужен ли CUDA Toolkit для PyTorch?
Нет. PyTorch из pip содержит свои библиотеки CUDA и cuDNN. Нужен только драйвер NVIDIA подходящей версии, для колёс cu130 это ветка 580 и новее.
Какую версию CUDA ставить в 2026 году?
Для карт Turing и новее берите текущую CUDA 13.x из репозитория NVIDIA. Для GTX 900 и GTX 1000 оставайтесь на 12.x, в CUDA 13 их поддержку убрали.
Почему nvidia-smi и nvcc показывают разные версии CUDA?
nvidia-smi показывает максимальную версию, которую поддерживает драйвер, а nvcc - версию установленного toolkit. Так и должно быть, если toolkit не новее драйвера.
Можно ли держать несколько версий CUDA?
Да. Из репозитория NVIDIA версии ставятся в отдельные папки /usr/local/cuda-X.Y, а нужная выбирается через PATH или ссылку /usr/local/cuda.
Как проверить, что CUDA установлена?
Выполните nvidia-smi для драйвера, nvcc --version для toolkit и соберите тестовую программу hello.cu. Для PyTorch проверьте torch.cuda.is_available().
Документация и источники
- CUDA Installation Guide for Linux, NVIDIA, 2026
- NVIDIA Driver Installation Guide, NVIDIA, 2026
- Installing cuDNN on Linux, NVIDIA, 2026
- PyTorch: Get Started Locally, PyTorch Foundation, 2026
Читайте также
- Как установить драйвер NVIDIA в Ubuntu, Fedora и Arch Linux
- Secure Boot и Linux: установка драйверов без отключения защиты
- Видеокарта для локальных нейросетей в Linux: выбираем между NVIDIA и AMD
- Переменные окружения и PATH в Linux: как добавить путь навсегда
- Распознавание речи в Linux: Whisper и whisper.cpp для аудио, видео и субтитров
Команды проверены на актуальных версиях дистрибутивов на момент обновления. Перед изменением системных настроек сделайте резервную копию.