Hi,
Does Nsight Systems report average GPU utilization with nsys profile
command? I didn’t see such thing in the timeline or stats system view. With Nsight Compute I can see utilization of kernels, but I am looking for an average value on NSYS because it doesn’t serialize kernels.
Greetings,
When you say you are looking for an average value - over what sort of time? Over your whole program? Over the duration of a single kernel?
If you have root access, you can collect GPU Metrics that can provide information such as your percentage of active SMs or occupancy. These counters are device-wide, not just scoped to whatever your application is doing. Example:
You should be able to take the metrics of interest to you and then compute an average over the window you are interested in.
Thanks for the reply. I looked at the metrics and I think “SM active” is the one I want to check. However, as you can see in the picture below, there are two problems with that:
1- When I move the cursor, I see the values in the yellow window changes. I assume those values are shown for a window period but I am not sure.
2- As you can see, the runtime of the application (when kernels are executed) is in the right side of the figure. That means, if I find the average value of the whole execution it considers inactive SM statistics in the beginning. I would like to know the average “SM active” for the a given time frame, e.g. the pink part where kernels are executed.
I even looked at the stats to see if I am able to manually find the SM active numbers for my desired time frame and do the average calculation, but I didn’t find such numbers.