nvidia nsight compute инструмент аварийно завершает работу при запуске от имени root

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

Я пытаюсь профилировать программу, которая использует CUDA на Alma Linux 9. Я установил инструмент nsight compute от Nvidia, и когда я начинаю пытаться профилировать свою программу, я получаю ошибку:

==ERROR== ERR_NVGPUCTRPERM - Пользователь не имеет разрешения на доступ к счетчикам производительности NVIDIA GPU на целевом устройстве 0. Для получения инструкций по включению разрешений и получения дополнительной информации смотрите https://developer.nvidia.com/ERR_NVGPUCTRPERM

Когда я пытаюсь запустить программу от имени root, я получаю другую ошибку:

################# ERROR: CrashReporter #################
CrashReporter

Инициализация Qt не удалась

Не удалось загрузить плагин платформы Qt: "xcb"
 - Путь к библиотеке: /usr/local/NVIDIA-Nsight-Compute-2024.3/host/linux-desktop-glibc_2_11_3-x64/Plugins/platforms/libqxcb.so
Приложение будет остановлено
Протокол не указан
Ошибка: Невозможно открыть дисплей: :10.0
/usr/local/NVIDIA-Nsight-Compute-2024.3/host/linux-desktop-glibc_2_11_3-x64/ncu-ui: строка 26: 2032536 Прервано                 (дамп памяти) "$NV_AGORA_PATH/CrashReporter" "NVIDIA Nsight Compute" "NVIDIA Nsight Compute" "2024.3.2.0 (сборка 34861637) (публичный релиз)" "$NV_AGORA_PATH/ncu-ui.bin" "$@"

Эта библиотека там есть, однако я использую xrdp для доступа к машине, может быть, это причина этой ошибки?

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

Проблема с запуском NVIDIA Nsight Compute под root в Alma Linux 9

Вы столкнулись с двумя основными ошибками при попытке профилирования CUDA-программы с использованием инструмента NVIDIA Nsight Compute на Alma Linux 9. Сначала, вы получаете ошибку, указывающую на отсутствие разрешений на доступ к счетчикам производительности GPU, а затем, при запуске от имени пользователя root, происходит сбой из-за проблем с инициализацией Qt.

1. Ошибка ERR_NVGPUCTRPERM

Первая ошибка ERR_NVGPUCTRPERM свидетельствует о том, что у вашего пользователя недостаточно прав для доступа к счетчикам производительности Nvidia GPU. Эта проблема характерна для современных систем, где безопасность имеет приоритет, и доступ к ресурсам GPU может быть ограничен.

Решение:
Чтобы разрешить эту ошибку, вы можете использовать следующее решение:

  • Добавление пользователя в группу nvidia: Для этого выполните команду:

    sudo usermod -aG video $USER

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

  • Настройка прав доступа: Вы также можете установить глобальные права для устройств GPU, выполнив следующую команду:

    sudo chmod 666 /dev/nvidia*

2. Проблемы со сбоями при запуске от имени root

Когда вы пытаетесь запустить Nsight Compute от имени root, возникает ошибка инициализации Qt, связанная с загруженным плагином платформы xcb, сообщающая о том, что приложение не может открыть дисплей.

Основные причины этой ошибки включают:

  • Отсутствие доступа к X-серверу: Запуск графического приложения от имени root может быть проблематичным, так как Qt требует доступа к текущему сеансу X11, но пользователь root может не иметь необходимых прав.

  • Использование xrdp: Вы упомянули, что используете xrdp для доступа к машине. Это также может вызвать проблему, так как X-сервер может быть настроен таким образом, чтобы не позволять root-пользователям подключаться к нему.

Решение:
Вот несколько способов обойти эту проблему:

  • Запуск приложения от имени обычного пользователя: Рекомендуется выполнять профилирование от имени пользователя, имеющего необходимые права, а не от имени root.

  • Настройка доступа к X-серверу: Если вам необходимо запустить приложение от имени root, попробуйте добавить пользователя root в список разрешенных пользователей дисплея, используя команду:

    xhost +SI:localuser:root
  • Проверка переменной окружения DISPLAY: Убедитесь, что переменная окружения DISPLAY установлена правильно. Вы можете проверить текущие настройки, выполнив:

    echo $DISPLAY

    Она должна иметь значение, соответствующее вашему сеансу X, например :0.

Заключение

Ошибки, с которыми вы столкнулись, часто возникают в системах с повышенными требованиями к безопасности и конфигурации X-сервера. Следуя предложенным решениям, вы сможете избежать этих проблем и успешно использовать NVIDIA Nsight Compute для профилирования ваших CUDA-программ. Не забывайте обращаться к официальной документации NVIDIA для получения дополнительной информации и рекомендаций по настройке прав доступа.

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

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