Basic GPU profiling tool?

Dear Experts,

I’m looking for a tool to do some very rough profiling of an OpenGL application on a Jetson Nano or NX. Really I’d just like to see something like “vertex shader 5%, fragment shader 15%, idle 80%”, just to give me some idea of utilisation. Currently the code reaches its target FPS (or is CPU limited), but I don’t know if I’m using 1% or 10% or 99% of the GPU capacity.

Any suggestions?

Thanks, Phil.

You may utilize sudo tegrastats

Or NVIDIA Visual Profiler and nvprof in

In a quick test with tegrastats I see “GR3D_FREQ 15%@306”, meaning that the GPU is currently being clocked at 306 MHz and is 15% utilised. As the maximum clock is 1109 MHz, it might be 15 * 309 / 1109 = 4% utilised overall (though I’m sure other factors like memory bandwidth that don’t scale with clock speed need to be considered too).

Regarding nvprof, the docs talk about CUDA; is it useful for OpenGL? I also see that it is deprecated. “Visual Profiler” is less interesting because it is a GUI application; I’m doing OpenGL direct to the display using EGL_EXT_device_drm so I don’t have a screen on which to run it. (I guess I could connect a second monitor, but a simple command-line tool would be much easier!)

Thanks, Phil.

Please execute sudo jetson_clcoks. It fixes GPU clocks at max and should be easier to read loading percentage.

For profiling OpenGL APIs, please use Nsight Graphics. You can install it through SDKMAnager.