I am trying profiling CPU/GPU applications, using Nsight suite.
Currently trying to understand a stuttering problem, I added a range around the simulation step (taking place on the CPU):
#include "3rd/nvToolsExt.h"
int main()
{
// ...
nvtxRangePush("Simulation");
scene.update(gSimulationDelta);
nvtxRangePop();
// ...
return 0;
}
After configuring the VS solution and copying the DLL next to the .exe
, the application compiles, links and run as expected.
Using the Visual Studio extension NVIDIA Nsight Integration 2020.2.0.0
, I launch a Nsight Systems 2022.3.4
Trace.
In the prepopulated project, I check Collect NVTX trace.
I click Start and get a report. Yet the NVTXmarkers are absent from the Timeline View, and I have several NVTX related warnings in Diagnostics Summary.
Notably:
-
NVTX_INJECTION64_PATH variable is missing from the environment variables of the process. Make sure the process was appropriately launched.
-
No NVTX events collected. Does the process use NVTX?
As a last resort idea, I added the system-wide environment variable NVTX_INJECTION64_PATH
with the value C:\Program Files\NVIDIA Corporation\Nsight Systems 2022.3.4\target-windows-x64\ToolsInjection64.dll
, but after relaunching everything the issue stays the same, and all warnings are still present.
How to have Nsight Systems show NVTX markers ?