Вопросы и ответы про графические ускорители GPU в Compute Cloud
Что делать, если на ВМ перестал работать GPU?
В таком случае необходимо остановить и снова запустить виртуальную машину. В большинстве случаев требуются именно остановка и повторный запуск, а не перезагрузка, поскольку при перезагрузке ВМ остается на том же хосте, где возникла проблема с GPU.
Ошибка «Not Supported» при сбросе ускорителей
При выполнении sudo nvidia-smi -r возвращается ошибка:
The following GPUs could not be reset:
GPU 00000000:8B:00.0: Not Supported
GPU 00000000:8C:00.0: Not Supported
Это значит, что на ускорителях активен NVLink. Отключите его и повторите сброс.
Ошибка «In use by another client» при сбросе ускорителей
При выполнении sudo nvidia-smi -r возвращается ошибка:
The following GPUs could not be reset:
GPU 00000000:8B:00.0: In use by another client
GPU 00000000:8C:00.0: In use by another client
2 devices are currently being used by one or more other processes (e.g., Fabric Manager, CUDA application, graphics application such as an X server, or a monitoring application such as another instance of nvidia-smi). Please first kill all processes using these devices and all compute applications running in the system.
Это значит, что ускорители заняты другим процессом, например модулем nvidia_drm с включенным modeset=1 или пользовательским процессом, который удерживает устройство.
Чтобы устранить проблему:
-
Проверьте, загружен ли модуль
nvidia_drmс параметромmodeset=1:cat /sys/module/nvidia_drm/parameters/modesetЕсли в выводе
Y, отключитеmodeset. Для этого создайте файл/etc/modprobe.d/nomodeset.confсо следующим содержимым:options nvidia-drm modeset=0 -
Обновите
initramfs(Initial RAM File System):sudo update-initramfs -u -
Найдите процессы, удерживающие устройство:
sudo ls -l /proc/*/fd/* | grep /dev/nvidiaПример вывода команды
lrwx------ 1 root root 64 Jun 17 12:01 /proc/1574/fd/3 -> /dev/nvidiactl lrwx------ 1 root root 64 Jun 17 12:01 /proc/1574/fd/4 -> /dev/nvidia0 lrwx------ 1 root root 64 Jun 17 12:01 /proc/1574/fd/5 -> /dev/nvidia0 lrwx------ 1 root root 64 Jun 17 12:01 /proc/1574/fd/6 -> /dev/nvidia0 lrwx------ 1 root root 64 Jun 17 12:01 /proc/1574/fd/7 -> /dev/nvidia0 lrwx------ 1 root root 64 Jun 17 11:59 /proc/904/fd/13 -> /dev/nvidiactl lrwx------ 1 root root 64 Jun 17 11:59 /proc/904/fd/17 -> /dev/nvidia0 lrwx------ 1 root root 64 Jun 17 11:59 /proc/904/fd/18 -> /dev/nvidia0 lrwx------ 1 root root 64 Jun 17 11:59 /proc/904/fd/19 -> /dev/nvidia0 lrwx------ 1 root root 64 Jun 17 11:59 /proc/904/fd/20 -> /dev/nvidia0 lrwx------ 1 root root 64 Jun 17 11:59 /proc/904/fd/24 -> /dev/nvidia0 lrwx------ 1 root root 64 Jun 17 11:59 /proc/904/fd/25 -> /dev/nvidia0 lrwx------ 1 root root 64 Jun 17 11:59 /proc/904/fd/27 -> /dev/nvidia0 lrwx------ 1 root root 64 Jun 17 11:59 /proc/904/fd/28 -> /dev/nvidia0 lrwx------ 1 root root 64 Jun 17 11:59 /proc/904/fd/29 -> /dev/nvidia0 lrwx------ 1 root root 64 Jun 17 11:59 /proc/904/fd/3 -> /dev/nvidiactl lrwx------ 1 root root 64 Jun 17 11:59 /proc/904/fd/39 -> /dev/nvidia0 lrwx------ 1 root root 64 Jun 17 11:59 /proc/904/fd/43 -> /dev/nvidia0 lrwx------ 1 root root 64 Jun 17 11:59 /proc/904/fd/8 -> /dev/nvidia-modeset -
Завершите эти процессы командой
sudo kill -9 <PID_процесса>. -
Повторите сброс ускорителей:
sudo nvidia-smi -r
Совет
Если после перезагрузки ВМ значение modeset снова возвращается к 1, проверьте, что в файловой системе нет других конфигураций, переопределяющих этот параметр:
sudo grep -R "modeset=1" /etc
Ошибка «Unknown Error» при выполнении команд nvidia-smi
Если команды nvidia-smi, например nvidia-smi --gpu-reset, возвращают ошибку Unknown Error, перезапустите сервис nvidia-persistenced:
sudo systemctl restart nvidia-persistenced
Ошибка «Warning: persistence mode is disabled on device» при включении режима MIG
Если после выполнения команды nvidia-smi -mig 1 в выводе появилось предупреждение Warning: persistence mode is disabled on device ..., запустите сервис nvidia-persistenced:
sudo systemctl start nvidia-persistenced
Как проверить физическое состояние кластера GPU?
- Проверьте порты InfiniBand.
- Проверьте сеть.
Подробнее читайте в разделе Проверить физическое состояние кластера GPU.
Как запустить параллельные задачи в кластере GPU?
Чтобы запустить параллельные задачи в кластере GPU:
- Подключитесь к каждой ВМ по SSH и установите Open MPI
и NCCL . - На основной ВМ соберите тесты NVIDIA и настройте SSH-ключи без пароля.
- На каждой ВМ добавьте публичный ключ в
authorized_keys. - На основной ВМ выполните команду
mpirunс IP-адресами ВМ и количеством GPU.
Подробнее читайте в разделе Запустить параллельные задачи в кластере GPU.
Как проверить пропускную способность InfiniBand?
Чтобы проверить пропускную способность InfiniBand создайте и запустите скрипт для запуска тестов perftest с использованием numactl.
Подробнее читайте в разделе Проверить пропускную способность InfiniBand.