драйверы NVidia не запускаются в AWS после перезапуска AMI

#amazon-web-services #amazon-ec2 #nvidia #drivers

#amazon-web-services #amazon-ec2 #nvidia #Пилоты

Вопрос:

все, у меня следующая проблема:

Я запустил экземпляр P2 с этим AMI. Я установил некоторые инструменты, такие как screen, torch и т.д. Затем я успешно провел несколько экспериментов с использованием GPU и создал образ экземпляра, чтобы я мог завершить его и запустить позже снова.

Позже я запустил новый экземпляр из AMI, который я создал ранее. Все выглядело нормально — screen, torch, мои эксперименты присутствовали в системе, но я не мог запускать те же эксперименты, что и раньше:

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

Мне кажется, что драйверы могут быть установлены (поскольку все остальные инструменты установлены ранее), но они не запущены. Правильное ли это предположение? Как я могу их запустить?

Комментарии:

1. Я заметил, что ядро изменилось. Из ядра 4.4.0-1049-aws в 4.4.0-1061-aws .

Ответ №1:

Недавно у нас возникла эта проблема. В нашем случае, похоже, что ядро по умолчанию в экземпляре AWS было обновлено (с 4.4.0-1049-aws до 4.4.0-1061-aws), но в новом ядре не были установлены модули nvidia:

 ubuntu@ip-XXX-XXX-XXX-XXX:~$ ls -laR /lib/modules/4.4.0-1061-aws | grep -i nvidia
ubuntu@ip-XXX-XXX-XXX-XXX:~$ ls -laR /lib/modules/4.4.0-1049-aws | grep -i nvidia
-rw-r--r--  1 root root    87368 Jun 27 10:21 nvidia-drm.ko
-rw-r--r--  1 root root  1155304 Jun 27 10:21 nvidia-modeset.ko
-rw-r--r--  1 root root  1163016 Jun 27 10:21 nvidia-uvm.ko
-rw-r--r--  1 root root 18014088 Jun 27 10:21 nvidia.ko
  

Проверьте версию вашего ядра (uname -a), чтобы убедиться, подходит ли это вам. Конфигурация GRUB позволяла загружать старый образ ядра (1049), но по умолчанию загружался новый (1061). Соответствующая часть /boot/grub/cfg:

 ubuntu@ip-XXX-XXX-XXX-XXX:~$ grep -i -e "ubuntu, with linux" /boot/grub/grub.cfg
    menuentry 'Ubuntu, with Linux 4.4.0-1061-aws' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.4.0-1061-aws-advanced-XXXX' {
    menuentry 'Ubuntu, with Linux 4.4.0-1061-aws (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.4.0-1061-aws-recovery-XXXX' {
    menuentry 'Ubuntu, with Linux 4.4.0-1049-aws' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.4.0-1049-aws-advanced-XXXX' {
    menuentry 'Ubuntu, with Linux 4.4.0-1049-aws (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.4.0-1049-aws-recovery-XXXX' {
  

Вы можете принудительно загрузить старое ядро при следующей перезагрузке с помощью grub-reboot:

 sudo /usr/sbin/grub-reboot "Advanced options for Ubuntu>Ubuntu, with Linux 4.4.0-1049-aws"
sudo reboot
  

При этом экземпляр загрузится со старым ядром, для которого у вас есть модули nvidia.

Комментарии:

1. Все еще актуальны для версии ядра 4.4.0-1077 для aws. Я последовал инструкциям и вернул ядро к версии 4.4.0.1075-aws.

2. Хотя то, что, по словам @liorko, делает графический процессор доступным, это не идеальное решение, поскольку оно может быть несовместимо с тем, что вы установили ранее, т. е. я получаю эту ошибку при запуске моего кода PyTorch: The NVIDIA driver on your system is too old (found version 9000). Please update your GPU driver by downloading and installing a new version from the URL: http://www.nvidia.com/Download/index.aspx Alternatively, go to: https://pytorch.org to install a PyTorch version that has been compiled with your version of the CUDA driver поэтому необходимо соблюдать осторожность

3. Просто для добавления, в то время как 4.4.0-1075-aws приводит к недоступности драйвера nvidia.

4. Отличный ответ, спас мой день!

5. На самом деле кажется, что это решение работает только при следующей перезагрузке, но не изменяет ядро навсегда. Чтобы изменить это навсегда, я удалил последнее ядро (которое я не хотел использовать), следуя этому совету askubuntu.com/a/329943

Ответ №2:

Переустановка драйвера nvidia решила проблему.

Комментарии:

1. Вы выяснили, как выполнить перезагрузку без необходимости переустановки драйверов?

2. Что это за ответ? Если вы отвечаете сами, то, по крайней мере, предоставьте больше деталей, чтобы другие люди могли поучиться у вас.

3. @MichaelIV Это коротко, но это не значит, что это плохо. Я не думаю, что есть что еще сказать, переустановка драйверов Nvidia решила проблему OP, вот и все. Возможно, он мог бы добавить шаги типа «1. удалите драйверы Nvidia 2. Переустановите драйверы Nvidia 3. Перезагрузитесь», но я не уверен, полезно ли сообщать пользователям на SO, как переустановить некоторые драйверы.