gpu frequency scaling heuristics - nvhost_podgov

Hi,

I know about jetson_clocks.sh & nvpmodel. I am wondering why nvhost_podgov does not automatically scale up the gpu frequency based on my application usage? Or rather, it does, but it takes ~15-20 minutes to do so. When the gpu is scaled down, my application runs at 1fps, when gpu is at max frequency, it runs at 7fps. Is there any documentation on the heuristics/algorithm that the gpu governor uses?

Thanks,

Joel

hello jkeller,

could you please try to request a locked GPU frequency following below,
thanks

echo 1 > /sys/kernel/debug/bpmp/debug/clk/gpcclk/mrq_rate_locked
echo freq > /sys/kernel/debug/bpmp/debug/clk/gpcclk/rate

Thanks for the reply Jerry. Yes, I can lock the GPU frequency, which works as expected. I am trying to determine why the frequency scaling does not match my application’s load on the GPU - why does it not quickly, automatically scale up the gpu frequency. Is there any documentation on the heuristics/algorithm that the gpu governor uses?

hello jkeller,

may i know how’s GPU loading that your application taken,
you should be able to monitor that by running the tegrastats simultaneously.

sudo ./tegrastats

also,
could you able to reproduce the GPU frequency not scaling issue.
please execute the TRT example as following below,
thanks

$ cp -r /usr/src/tensorrt .
$ cd tensorrt/samples/sampleGoogleNet/ 
$ make
$ cd ../../bin
$ ./sample_googlenet
1 Like