hello,
使用JetPack5.1.3在Orin 64G模组(BOARDID=3701 FAB=500 BOARDSKU=0005 BOARDREV=M.0)上进行压测
使用stress和gpu_burn令CPU和GPU满负载运行,并使用 jetson_clocks进行锁频,使用jtop观察到,ALL无法持续保持在最高功率74W,功率在74W~40W之间跳动,同样GPU SOC也发生了大幅度跳动。
但是使用Orin 32G模组(BOARDID=3701 FAB=500 BOARDSKU=0004 BOARDREV=G.0 )无大幅度跳动现象,如下图
Hi,
[ 595.230164] cpufreq: cpu0,cur:2330000,set:2201600,set ndiv:172
[ 595.237769] cpufreq: cpu8,cur:2323000,set:2201600,set ndiv:172
[ 599.338097] cpufreq: cpu8,cur:2322000,set:2201600,set ndiv:172
[ 601.385441] cpufreq: cpu8,cur:2050000,set:2201600,set ndiv:172
[ 604.450425] cpufreq: cpu0,cur:2325000,set:2201600,set ndiv:172
[ 605.477241] cpufreq: cpu0,cur:2341000,set:2201600,set ndiv:172
[ 606.503935] cpufreq: cpu4,cur:2417000,set:2201600,set ndiv:172
這些log代表系統已經在做throttling了 請你看一下文件上的TDP budget. Orin AGX 32GB 跟64GB的power budget並沒有到74W… 當你跑到這個區間的時候throttling會發生
怎么看TDP budget呢?不太理解,麻烦您可以详细说明一下吗?
基本上就是你拿到任何一顆module的時候要先讀一下他的spec… 了解一下他能支援到的功耗 當你跑到超過這個數字之後, 我們的driver為了保護module自然會有一些throttling的機制.
奇怪的是,32GB模组的浮动很稳定,但64GB浮动较大。
负载和压力都是满的
你的Orin 32GB power是不是才33W?
那就沒什麼需要討論的… 32GB本來就能到40W
你拿一個正在throttling的64GB跟一個沒有throttle的32GB在比較本身就沒有意義.
我不知道你怎么理解我的问题,也有可能是我理解错了
我的意思是两块不同的模组都是满负载运行,为什么一个的功耗稳定一个的不稳定?
也就是为什么一个出现了throttling而另外一个没有出现throttling呢?
前面已經解釋過了…請問是不是沒有看懂?
你64GB module能支援到的功耗就是60W… 超過之後就會throttling. 你跑到超過, 自然開始做throttling. 所以整個頻率會一直被往下調整. 所以你量測的結果看到64GB浮動比較大.
32GB module能支援到的功耗是40W. 你現在只有跑在33W. 沒超過40W, 自然系統沒有啟動throttling機制
這就是為什麼要請你去看spec的原因. 這兩個module本身能支援到的就是不一樣.
好的明白了,那也比较奇怪,32G模组负载跑满就可以在最大功率内(33W),而64G模组负载跑满就超过了60W这是为啥呢?
這個問題其實也不是你想的那樣… 比方說我們也有辦法在32GB module跑超過33W…
只是你現在在跑的stress tool沒辦法達到而已.
以前就有類似的討論了 供參:
https://forums.developer.nvidia.com/t/som-watt/250457/7
CPU 不跑满,GPU跑满的情况下,功率还是会出现跳动的情况,这是因为CPU跳动导致的吗?