I have an AGX Orin application where I would like to maximize GPU compute performance. Essentially, I want to do the following:
Force the external memory interface to 3200 MHz
Enable all GPU TPCs
Force the GPU clock to the maximum
I’m not sure how much CPU will be required, so that’s still up in the air. For now, I want to keep it at max performance as well, then scale it down as we determine what’s needed for the application.
At the same time, I want to minimize power usage to the greatest extent possible for thermal reasons. There are several other functional units that I would like to power down/disable/frequency scale as low as possible, because they will not be used at all. Ones that I’m aware of include:
DLA
PVA
VIC
NVDEC
NVENC
NVJPG
The power management documentation that I’ve found implies that nvpmodel could potentially be used to do this, but I don’t see it spelled out anywhere how I could create a custom profile that would turn these things off. Is there any documentation that describes more clearly how one would create a custom power profile?
That’s the documentation that I was referring to. I couldn’t find anything in there that specifically indicates how to create a custom model that disables DLA, PVA, etc.
I have looked at that. It doesn’t seem to be well documented, but I can infer what’s going on by inspecting the configuration file.
My question is whether there is any documentation on the knobs for controlling the power to the DLA, PVA, etc. It appears that I can set maximum clock rates for the DLA cores, and PVA0_VPS and PVA0_AXI. What is the lowest power state I can set for these? Do I set the clock rate to zero? Is there some other knob? Are there other parameters that control the clocks for the other modules I’m not using like NVDEC, NVENC, and NVJPG?
Thanks for the information. Is there a way to query what clock frequencies are allowed for DLA/PVA like you can for the external memory interface, GPU, etc.?