I monitor the current state of my Jetson Nano with jtop.
jetson_clocks is deactivated, this is important to note.
I boot the Jetson Nano to text mode, and operate it without monitor and keyboard (I access it via WIFI), so the GPU has no work at all with a display.
When I train a common MNIST classification model (I use the official Jetson Nano Tensorflow and PyTorch libraries) the GPU frequency scales up to 921 MHz, as expected under load.
The strange behaviour occurs when the scripts finish. After that, the GPU still stays in some higher frequency (like 614 MHz, sometimes even at the max 921 MHz), despite there is no load anymore on the GPU.
The GPU doesn’t scale down after some time; at one point I let the Jetson Nano idling for 2 hours, to no effect. GPU still stuck in the same high frequency.
The only way so far I found to force the GPU to scale its frequency down to 76 MHz is disabling and immediately enabling railgate:
/sys/devices/57000000.gpu# echo 0 > railgate_enable /sys/devices/57000000.gpu# echo 1 > railgate_enable
The GPU immediately goes to 76 MHz at this point when I re-enable railgate.
Is something wrong with my device, or is this expected behaviour? Is there some system parameter that I can set so that the GPU goes back to its lowest frequency when it has nothing to do?