What exactly does the GPU utilization from 'tegrastats' mean?

I found that from ‘tegrastats’ we can see the utilization for the GPU module, but the explanation is quite vague.


Can someone help explain what exactly does it mean?
For example, what does a ‘GPU engine’ mean?
And how was the ‘percent of GR3D being used’ been calculated?
Is this parameter a fair number to present the workload of the GPU module or it means something else?

I would really appreciate a thorough answer.

Thanks!

Moving to Jetson Nano forum for resolution.

hello ChulanZhang,

there’s description of reported statistics,
please check the developer guide for tegrastats utility.
thanks

Hi Jerry,
Thanks for your help. But I have already read the tegrastats utility and as I said in my question, the explanation there is quite vague. I would really appreciate it if more details could be explained.

Thanks

hello ChulanZhang,

GR3D is the GPU engine in the tegrastats output. It is reported as GR3D X%@Y, where X is the utilization and Y is the current clock frequency of the GPU.
here’s also an utility, Jetson stats, it is a package for monitoring and control your Jetson platform.
thanks

Hi Jerry,
I can understand what you say and that is already understandable from the tegrastats utility. But it doesn’t solve my question:
What does a ‘GPU engine’ mean? Does it present a GPU core?
And how was the percentage been calculated? Does it have a linear relationship with the workload?
Deep details about how tegrastats was designed and calibrated would be helpful.

Thanks

hello ChulanZhang,

yes, that present GPU resources usage.

you may enable sudo to check the detail reported statistics.
it shows GPU load relative to the current running GPU frequency in MHz.
for example,

$ sudo tegrastats
... GR3D_FREQ 0%@921 ...

the usage is zero since I did not execute any process there,
also, the instance running GPU frequency at 921MHz, it’s parse via GPU sysnode.
for example,

# cat /sys/devices/57000000.gpu/devfreq/57000000.gpu/cur_freq
921600000