- Вопрос или проблема
- Ответ или решение
- Как исправить ошибку NVIDIA SMI после чистой установки драйверов и контейнерного инструментария на Ubuntu 22.04 LTS?
- 1. Проверка текущих установленных пакетов NVIDIA
- 2. Полное удаление пакетов NVIDIA
- 3. Установка рекомендуемого драйвера
- 4. Установка nvidia-container-toolkit
- 5. Конфигурация репозитория и GPG ключа
- 6. Установка nvidia-container-toolkit
- 7. Конфигурация Docker
- 8. Проверка работы nvidia-smi
- Заключение
Вопрос или проблема
Я использую NVIDIA драйвер 535 на сервере Ubuntu 22.04 LTS. После удаления и повторной установки всех связанных с NVIDIA пакетов, включая NVIDIA Container Toolkit, nvidia-smi не запускается. Кто-нибудь сталкивался с этим, и какие лучшие практики для решения этой проблемы?
Эта проблема может быть связана с несоответствием установленного драйвера NVIDIA и инструментария в большинстве случаев. Вы можете проверить совместимость версий драйвера и инструментария. После удаления ваших предыдущих установок (вы можете проверить существующие пакеты с помощью dpkg -l | grep -i nvidia
и удалить все компоненты nvidia с помощью sudo apt-get remove --purge '^nvidia-.*'
, выполните следующие шаги:
- Используйте
sudo ubuntu-drivers list --gpgpu
(для серверов) для получения списка/предложения рекомендованного драйвера. Это даст список, похожий на следующий
nvidia-driver-470
nvidia-driver-470-server
nvidia-driver-535
nvidia-driver-535-open
nvidia-driver-535-server
nvidia-driver-535-server-open
nvidia-driver-550
nvidia-driver-550-open
nvidia-driver-550-server
nvidia-driver-550-server-open
-
Запустите
sudo ubuntu-drivers install --gpgpu
, чтобы автоматически установить рекомендованный драйвер, или укажите
sudo ubuntu-drivers install --gpgpu nvidia:535-server
с
sudo apt install nvidia-utils-535-server
-
Установите NVIDIA Container Toolkit следующим образом в вашем терминале bash
sudo apt-get update \
&& sudo apt-get install -y nvidia-container-toolkit-base
Удалите версию ctk
nvidia-ctk --version
Настройте репозиторий пакетов и GPG ключ:
distribution=$(. /etc/os-release;echo $ID$VERSION_ID) \
&& curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg \
&& curl -s -L https://nvidia.github.io/libnvidia-container/$distribution/libnvidia-container.list | \
sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' | \
sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list
Установите контейнерный инструментарий с помощью
sudo apt-get update
sudo apt-get install -y nvidia-container-toolkit
Настройте выполнение docker для ctk
sudo nvidia-ctk runtime configure --runtime=docker
Перезагрузите docker после настройки выполнения
sudo systemctl restart docker
Затем вы можете протестировать с базовым контейнером CUDA (базовый 20.04 работает на 22.04)
sudo docker run --rm --runtime=nvidia --gpus all nvidia/cuda:11.6.2-base-ubuntu20.04 nvidia-smi
- Перезагрузите вашу систему и запустите
nvidia-smi
, чтобы проверить статус.
Убедитесь, что ваши модули ядра загружены, запустив lsmod | grep nvidia
. Если у вас все еще возникают проблемы, проверьте /var/log/syslog
на наличие дополнительных ошибок.
Источники:
- https://ubuntu.com/server/docs/nvidia-drivers-installation#the-recommended-way-ubuntu-drivers-tool
- https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/1.13.5/install-guide.html#setting-up-nvidia-container-toolkit
- https://thelinuxcode.com/clean-install-nvidia-drivers-ubuntu-22-04-lts/
Большинство информации можно найти по указанным ссылкам. Сообщите мне свои мысли и предложения по этому поводу!
Ответ или решение
Как исправить ошибку NVIDIA SMI после чистой установки драйверов и контейнерного инструментария на Ubuntu 22.04 LTS?
Если вы столкнулись с проблемой, когда команда nvidia-smi
не работает после чистой установки драйверов NVIDIA 535 и инструментария контейнеров на сервере Ubuntu 22.04 LTS, это может быть следствием несовместимости версий или неправильной настройки. Ниже приведен подробный план действий, который поможет вам устранить эти проблемы.
1. Проверка текущих установленных пакетов NVIDIA
Сначала проверьте, какие пакеты NVIDIA уже установлены на вашем сервере. Для этого выполните следующую команду:
dpkg -l | grep -i nvidia
Это позволит вам убедиться, что все предыдущие версии драйверов находятся в состоянии purged
, и избежать конфликта.
2. Полное удаление пакетов NVIDIA
Чтобы удалить все установленные пакеты, воспользуйтесь командой:
sudo apt-get remove --purge '^nvidia-.*'
После этого рекомендуется выполнить:
sudo apt autoremove
Это удалит неиспользуемые зависимости и освободит место.
3. Установка рекомендуемого драйвера
Теперь вам нужно установить подходящий драйвер. Для этого выполните:
sudo ubuntu-drivers list --gpgpu
Эта команда выдаст список доступных драйверов. Вам нужно убедиться, что вы выбрали драйвер, совместимый с вашей картой NVIDIA. Установите его с помощью следующей команды:
sudo ubuntu-drivers install --gpgpu
Или вы можете указать конкретную версию:
sudo ubuntu-drivers install --gpgpu nvidia-driver-535-server
4. Установка nvidia-container-toolkit
После установки драйвера необходимо установить инструментарий контейнеров NVIDIA. Выполните следующие команды:
sudo apt-get update
sudo apt-get install -y nvidia-container-toolkit-base
5. Конфигурация репозитория и GPG ключа
Настройте репозиторий NVIDIA и добавьте GPG ключ. Выполните:
distribution=$(. /etc/os-release;echo $ID$VERSION_ID) \
&& curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg \
&& curl -s -L https://nvidia.github.io/libnvidia-container/$distribution/libnvidia-container.list | \
sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' | \
sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list
6. Установка nvidia-container-toolkit
Теперь выполните:
sudo apt-get update
sudo apt-get install -y nvidia-container-toolkit
7. Конфигурация Docker
Настройте Docker для работы с контейнерами NVIDIA:
sudo nvidia-ctk runtime configure --runtime=docker
Перезапустите Docker:
sudo systemctl restart docker
8. Проверка работы nvidia-smi
После выполнения всех вышеуказанных шагов перезагрузите систему:
sudo reboot
Затем проверьте, работает ли nvidia-smi
:
nvidia-smi
Если команда по-прежнему не срабатывает, убедитесь, что модули ядра загружены, выполнив:
lsmod | grep nvidia
Если вы продолжаете сталкиваться с проблемами, проверьте логи:
cat /var/log/syslog | grep nvidia
Заключение
Устранение ошибки nvidia-smi
после чистой установки драйверов и контейнерного инструментария может потребовать нескольких шагов, соблюдение которых существенно увеличивает ваши шансы на успех. Убедитесь, что версии драйверов и инструментов совместимы, а конфигурации выполнены правильно. Если у вас будут вопросы или понадобится помощь, обратитесь к документации и сообществу.
Для дополнительной информации можете ознакомиться с источниками:
Этот алгоритм действий поможет вам устранить проблему и вернуть работоспособность системы с NVIDIA на Ubuntu 22.04 LTS.