DVFS

Hi,

I am doing some research on power using the TX1. I wanted to know if dvfs is automatically enabled in tx1 and whether there is some way to turn it off so that I can set my own gpu,cpu and memory frequencies? I know i can set them using the steps mentioned here http://elinux.org/Jetson/Performance but was wondering about the built in dvfs management interfering with this.

Thanks

Hi trinayan, dvfs is auto enabled and should not be disabled, please take this topic as reference https://devtalk.nvidia.com/default/topic/996782/

Hi,

Ok so based on the answer I can see that the system can adjust the voltage even when the user has fixed a frequency. But what I want to know is if i fix the frequency to say 100khz and run a cuda app will the app run at that frequency or will it be overidden by the device under some conditions?

Also I cannot seem to find any information about how the existing dvfs manager in jetson works. I know that in the kepler devices if there is sufficient thermal headroom then autoboost will boost the gpu frequency to maximum. Is that the same for the jetson devices? Thank you once again

dvfs has a total scheme to auto adjust frequency and voltage base on workload, temperature etc. It will take best performance if no threshold reached.

hi trumany,

Thanks again but I am not sure I got the answer to my second post. Basically my question is if I fix the frequency at 1Mhz for example as mentioned here (http://elinux.org/Jetson/Performance) , will the dvfs management change it automatically? I mean at one hand the link I pasted shows that you can scale the frequencies to some fixed values and on the other hand you mention that dvfs will auto adjust this frequency. This is kind of confusing because if dvfs auto adjusts this frequency everytime I set it then what is the point of giving the user the ability to change frequencies?
The only valid reason I can think of dvfs interfering is if the temperature gets very hot and thus it overrides the frequencies. Other than that if i have a very low frequency why would the dvfs interfere?
I would be glad if you could clarify this. Thanks

No conflict here. Of course you can fix a frequency without reaching any voltage/thermal threshold. For a given freq, there is a corresponding minimum operating VDD. If the VDD is lower, there will be functional failures. If the VDD is higher, the circuits should still operate correctly, but will consume higher power. DVFS scheme is to maintain the VDD in a normal range to a given freq base on workload. If you don’t fix the freq, DVFS has its own logic to set freq and corresponding VDD.

Hi Trumany,

Thanks. I now understand it correctly. Is there any recommended method from NVIDIA to measure the tx1/tx2 power when running a cuda kernel?

Best,
Trinayan

From hardware perspective, no special method but observing the input voltage, current and comparing with status without running a cuda kernel.

Is there any safe way to fix the voltage at a given frequency within some limit.? I see variations in power readings at a fixed frequency within ±0.5Watt which is very relevant for my work and I think it has to do with how the voltage is scaling ? . Since power is dependent on square of voltage this has a significant impact that i do not want to ignore.

Could you please give me some guidance here? You mentioned in one of your forum posts that it is not exposed to the user. But I am willing to do this at my own risk with some help from NVIDIA. Thank you for your help

We do NOT provide such method to change DVFS scheme no matter customer will take the risk or not. And also it is not public to customer for patents protection.

Ok thanks for the information.
Just wondering the case if this is possible. Considering the situation where the user does not specify the frequencies at all.
Is there some way to get the information at what frequencies the GPU ran the workload on? This will be very helpful. Thanks for your help.

No such info can be provided, even if have, it is still a part of scheme which won’t be public either.