Ошибка при попытке установить актуальную среду cuda на Ubuntu 22.04

Вопрос или проблема

Я следую инструкциям NVidia здесь: https://developer.nvidia.com/cuda-downloads?target_os=Linux&target_arch=x86_64&Distribution=Ubuntu&target_version=22.04&target_type=deb_local

Я сталкиваюсь с несколькими проблемами.

Прежде всего, после установки комплекта инструментов cuda я ожидал, что nvcc будет доступен, но он, похоже, отсутствует. Мне предложено выполнить apt install nvidia-cuda-toolkit, который указывает на версию из стандартного репозитория, но она устарела.

В любом случае, я пытаюсь перейти к следующему шагу, который заключается в обновлении драйверов.
Первый предложенный шаг – apt install nvidia-open, и он завершается с ошибкой:
Следующие пакеты имеют неудовлетворенные зависимости:

nvidia-kernel-common-535 : Конфликтует с: nvidia-kernel-common
nvidia-kernel-common-560 : Зависит от: nvidia-modprobe (>= 560.35.05-0ubuntu1), но будет установлен 470.103.01-1
Конфликтует с: nvidia-kernel-common
E: Ошибка, pkgProblem::Resolve сгенерировал разрывы, это может быть вызвано удерживаемыми пакетами.

Я также попробовал оригинальную процедуру установки драйвера:

sudo ubuntu-drivers devices
sudo ubuntu-drivers install

Рекомендуемой версией оказывается 560, но установка завершается с той же ошибкой, как и выше.

Как исправить эту проблему?

Ответ или решение

Установка актуальной версии среды CUDA на Ubuntu 22.04 может вызвать сложности, особенно если возникает конфликт версий драйверов и библиотек. Рассмотрим, как можно разрешить проблему с конфликтующими пакетами и отсутствием команд в PATH на примере вашего кейса.

Проблема:

Вы следуете инструкциям NVIDIA для установки CUDA на Ubuntu 22.04, но сталкиваетесь с несколькими проблемами:

  1. Команда nvcc оказывается недоступной после установки CUDA Toolkit.
  2. При установке драйверов через apt install nvidia-open возникают конфликты с пакетами nvidia-kernel-common-535 и nvidia-kernel-common-560.
  3. Попытки установки драйвера версии 560 через ubuntu-drivers также завершаются неудачей.

Решение:

Шаг 1: Проверка и удаление конфликтующих пакетов

Перед началом любой установки рекомендуется удалить старые и конфликтующие версии пакетов драйверов NVIDIA.

sudo apt remove --purge '^nvidia-.*'
sudo apt autoremove

Это удалит все связанные с NVIDIA драйверы, очищая систему от конфликтов.

Шаг 2: Обновление репозиториев и системы

Убедитесь, что ваши репозитории и система полностью обновлены.

sudo apt update
sudo apt upgrade

Шаг 3: Установка CUDA и инструментария

Вместо стандартного пакета из репозитория Ubuntu, который устарел, стоит вручную загрузить и установить актуальную версию CUDA Toolkit с сайта NVIDIA.

Переходите на страницу загрузки CUDA, где можно скачать .deb файл для локальной установки и следовать предоставленным инструкциям.

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

echo 'export PATH=/usr/local/cuda/bin:$PATH' >> ~/.bashrc
echo 'export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH' >> ~/.bashrc
source ~/.bashrc

Повторно проверьте доступность nvcc:

nvcc -V

Шаг 4: Установка драйвера NVIDIA

Иногда установка новой версии драйвера через официальный PPA может решить проблему.

  1. Добавьте PPA NVIDIA:
    sudo add-apt-repository ppa:graphics-drivers/ppa
    sudo apt update
  2. Посмотрите доступные драйверы и установите рекомендованный:
    sudo ubuntu-drivers devices
    sudo apt install nvidia-driver-560

Шаг 5: Проверка совместимости и зависимостей

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

sudo apt install nvidia-modprobe

Убедитесь, что зависимости находятся на соответствующих версиях.

Заключение

После выполнения вышеуказанных шагов, вы сможете успешно установить и настроить актуальную среду CUDA на Ubuntu 22.04 без конфликта пакетов. Если проблемы сохраняются, возможно стоит обратиться на форумы сообщества NVIDIA или Ubuntu для получения дополнительных рекомендаций.

Регулярный мониторинг обновлений драйвера и библиотек, а также планомерное обновление системы — залог стабильной работы вашего CUDA окружения.

Оцените материал
Добавить комментарий

Капча загружается...