nvidia-smi перестал работать после установки cuda-toolkit

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

TLDR

Я пытаюсь восстановить работу nvidia-smi, который работал нормально, пока я не установил cuda-toolkit. Удаление cuda-toolkit не помогло. Как я могу восстановить вывод nvidia-smi?

NVIDIA-SMI не удалось выполнить, поскольку он не смог связаться с драйвером NVIDIA. Убедитесь, что установлен и запущен последний драйвер NVIDIA.


Больше деталей

У меня на ноутбуке с Ubuntu 18.04 установлена GEFORCE RTX 2070, и я успешно установил драйвер из официального файла установки NVIDIA-Linux-x86_64-470.63.01.run. Вот вывод nvidia-smi из этой установки:

введите описание изображения здесь

Затем я установил cuda-toolkit из официального файла установки cuda_11.4.2_470.57.02_linux.run, убедившись, что снял выбор установки драйвера. Вот окно терминала сразу после завершения установки:

введите описание изображения здесь

Сразу после этого, когда я выполнил nvidia-smi, я получил:

NVIDIA-SMI не удалось выполнить, поскольку он не смог связаться с драйвером NVIDIA. Убедитесь, что установлен и запущен последний драйвер NVIDIA.

Поскольку установка cuda-toolkit, предположительно, “сломала” nvidia-smi, я удалил cuda-toolkit (запустив cuda-uninstaller, который находится в /usr/local/cuda-11.4/bin, как указано в сгенерированном тексте после установки).

К сожалению, это не помогло, и nvidia-smi все еще поврежден. Причина, по которой я устанавливаю из официальных файлов установки NVIDIA, заключается в том, что ранее у меня были проблемы с установкой драйвера из репозиториев Ubuntu, но я смог заставить его работать с официальным драйвером. Поэтому я решил попробовать то же самое с cuda-toolkit.

Как я могу вернуть nvidia-smi?

Выводы некоторых команд, если это актуально

  • which nvidia-smi : /usr/bin/nvidia-smi
  • mokutil --sb-state : SecureBoot отключен
  • nvidia-settings :
    • ОШИБКА: драйвер NVIDIA не загружен
    • ОШИБКА: невозможно загрузить информацию из любой доступной системы
  • ls /sys/firmware/efi/ :
    • config_table efivars esrt fw_platform_size fw_vendor runtime runtime-map systab vars
  • lspci -k | grep -EA2 'VGA|3D' :

00:02.0 VGA совместимый контроллер: Intel Corporation CometLake-H GT2
[UHD Graphics] (rev 05)
Подсистема: Micro-Star International Co., Ltd. [MSI] Устройство 12ae
Драйвер ядра в использовании: i915

01:00.0 VGA совместимый контроллер: NVIDIA Corporation TU106M [GeForce RTX 2070 Mobile / > Max-Q Refresh] (rev a1)
Подсистема: Micro-Star International Co., Ltd. [MSI] Устройство 12ae
Модули ядра: nvidiafb, nouveau

  • cat /etc/modprobe.d/blacklist-nouveau.conf :

blacklist nouveau
blacklist vga16b
blacklist rivafb
blacklist nvidiafb
blacklist rivatv
blacklist amd76_edac
alias nouveau off
alias lbm-nouveau off
options nouveau modeset=0

  • cat /proc/version :

    • Linux version 5.4.0-84-generic (buildd@lcy01-amd64-007) (gcc version 7.5.0 (Ubuntu 7.5.0-3ubuntu1~18.04)) #94~18.04.1-Ubuntu SMP Thu Aug 26 23:17:46 UTC 2021
  • sudo lshw -c video : (NVIDIA дисплей “непринятый”, но это то, как он должен быть)

введите описание изображения здесь

  • dkms status : нет вывода
  • lsmod | grep nvidia :
    • i2c_nvidia_gpu 16384 0
  • echo $XDG_SESSION_TYPE : x11
  • whereis nvidia :
    • nvidia: /usr/lib/x86_64-linux-gnu/nvidia /usr/lib/nvidia /usr/share/nvidia /usr/src/nvidia-470.63.01/nvidia
  • grep nvidia /etc/modprobe.d/* /lib/modprobe.d/*:

/etc/modprobe.d/blacklist-framebuffer.conf:blacklist nvidiafb
/etc/modprobe.d/blacklist-nouveau.conf:blacklist nvidiafb
/etc/modprobe.d/nvidia-installer-disable-nouveau.conf:# сгенерировано nvidia-installer
/lib/modprobe.d/nvidia-runtimepm.conf:options nvidia “NVreg_DynamicPowerManagement=0x02”

Посты / Вопросы, которые я уже просмотрел:

Я удалил все пакеты NVIDIA и затем попытался выполнить sudo ubuntu-drivers autoinstall, после чего выполнил sudo reboot, после чего nvidia-smi работает нормально.

введите описание изображения здесь

Так что, я полагаю, решение заключалось в переустановке драйверов NVIDIA.

В моем случае отключение Secure Boot, prime-select и перезагрузка не помогают.

Мне нужно установить пакет nvidia-dkms через sudo apt install nvidia-dkms-YOUR-VERSION, который отсутствует в рекомендованном способе установки в официальном руководстве (https://ubuntu.com/server/docs/nvidia-drivers-installation). Пакет nvidia-dkms упоминается только в методе ручной установки.

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

Проблема с nvidia-smi после установки CUDA Toolkit: как её решить?

Введение

Проблемы с выполнением команд nvidia-smi на системах Linux могут возникать по ряду причин, особенно после установки драйверов и CUDA Toolkit. В вашем случае, установка CUDA Toolkit вызвала проблемы с доступностью NVIDIA драйвера, что и привело к ошибке при использовании nvidia-smi.

Причины проблемы

  1. Несоответствие версий драйвера и CUDA Toolkit: При установке CUDA Toolkit важно, чтобы версия драйвера NVIDIA соответствовала установленной версии CUDA. Если драйвер CUDA устарел по сравнению с установленным драйвером, это может вызвать ошибки.

  2. Проблемы с загрузкой драйвера: После установки CUDA Toolkit может произойти конфликт между старыми и новыми модулями, что может привести к тому, что драйвер NVIDIA не будет загружен корректно.

  3. Отсутствие необходимых модулей DKMS: Некоторые версии драйвера и CUDA требуют наличия модуля DKMS для динамического компилирования при каждом обновлении ядра.

Как восстановить работу nvidia-smi?

Чтобы восстановить функциональность nvidia-smi, рассмотрите следующие шаги:

1. Проверка состояния драйвера NVIDIA

Убедитесь, что драйвер NVIDIA установлен и активен. Для этого выполните команду:

nvidia-smi

Если вы видите сообщение об ошибке, это может указывать на то, что драйвер не загружен или не установлен.

2. Полное удаление драйверов NVIDIA

  1. Удалите драйверы NVIDIA с помощью следующей команды:
sudo apt-get purge nvidia*
  1. Очистите систему от оставшихся файлов:
sudo apt-get autoremove

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

Теперь необходимо переустановить драйвер. Один из подходов – использовать автоматическую установку драйвера:

sudo ubuntu-drivers autoinstall

Это установит рекомендуемые драйверы для вашей системы.

4. Установка nvidia-dkms

Если ваша версия драйвера требует модуль DKMS, установите его с помощью:

sudo apt install nvidia-dkms-<версия>

Убедитесь, что <версия> соответствует вашей версии драйвера.

5. Перезагрузка системы

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

sudo reboot

6. Проверка работы nvidia-smi

После перезагрузки снова выполните команду:

nvidia-smi

Заключение

В большинстве случаев, последовательное выполнение указанных шагов поможет восстановить функциональность команды nvidia-smi. Не забывайте также проверять совместимость версий драйвера и CUDA Toolkit перед установкой, чтобы избежать подобных ситуаций в будущем. Если проблема остается нерешенной, возможно, стоит обратиться на официальные форумы NVIDIA или в сообщество Ubuntu для получения дополнительной помощи.

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

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