Как увидеть маркеры NVTX в системах Nvidia Nsight? С хостом и гостем, являющимся одной и той же машиной Windows
Я пытаюсь профилировать приложения CPU/GPU, используя пакет Nsight.
В настоящее время пытаясь понять проблему заикания, я добавил диапазон вокруг шага моделирования (происходящего на ЦП):
#include "3rd/nvToolsExt.h"
int main()
{
// ...
nvtxRangePush("Simulation");
scene.update(gSimulationDelta);
nvtxRangePop();
// ...
return 0;
}
После настройки решения VS и копирования DLL рядом с.exe
, приложение компилируется, связывается и запускается, как и ожидалось.
Использование расширения Visual StudioNVIDIA Nsight Integration 2020.2.0.0
, я запускаюNsight Systems 2022.3.4
След.
В предварительно заполненном проекте ставлю галочку Collect NVTX trace.
Нажимаю Start и получаю отчет. Тем не менее, маркеры NVTX отсутствуют в представлении временной шкалы, и у меня есть несколько предупреждений, связанных с NVTX, в сводке диагностики.
В частности:
-
Переменная NVTX_INJECTION64_PATH отсутствует в переменных среды процесса. Убедитесь, что процесс запущен надлежащим образом.
-
События NVTX не собраны. Использует ли процесс NVTX?
В крайнем случае я добавил общесистемную переменную окруженияNVTX_INJECTION64_PATH
со значениемC:\Program Files\NVIDIA Corporation\Nsight Systems 2022.3.4\target-windows-x64\ToolsInjection64.dll
, но после перезапуска проблема остается прежней, и все предупреждения по-прежнему присутствуют.
Как заставить Nsight Systems показывать маркеры NVTX?