IMPORTANT Explaining the AMD Ryzen "Power Reporting Deviation" -metric in HWiNFO

The Stilt

Member
V.I.P.
Ryzen CPUs for AM4 platform rely on external, motherboard sourced telemetry to determine their power consumption. The voltage, current and power telemetry is provided to the processor by the motherboard VRM controller through the AMD SVI2 interface. This information is consumed by the processors power management co-processor, that is responsible for adjusting the operating parameters of the CPU and ensuring, that neither the CPU SKU, platform or infrastructure specific limits are being violated.

The weakness of this method is, that the telemetry essentially uses an undefined scale for the current (and hence power) measurements. This means that the motherboard VRM controller will send an integer between 0 - 255 to the CPU, and based the reference value known by the co-processor firmwares, this integer is converted to a figure, that represents a physical current drawn by the CPU. Based on the accurately known current flow and the voltage, it is possible to calculate to CPU power draw in Watts (V * I).

The reference value mentioned earlier is generally different for each of the motherboard make and model, unless there are boards which have an identical power circuitry. Because of that, it is on the motherboard manufacturers responsibility to find the correct value for their motherboard design through the means of calibration, and then to declare it properly in AGESA, during the bios compile time. In case the motherboard design specific, correct value differs greatly from the declared value, there will be a bias in the power consumption seen by the CPU. In case the declared value is greater than the actual value, the power consumption seen by the CPU is greater than it actually is. Likewise, if the declared value would be an understatement... the CPU would think it consumes less power than it actually does.

Since at least two of the largest motherboard manufacturers, still insist on using this exploit to gain an advantage over their competitors despite being constantly asked and told not to, we thought it would be only fair to allow the consumers to see if their boards are doing something they're not supposed to do. The issue with using this exploit is, that it messes up the power management of the CPU and potentially also decreases its lifespan because it is running the CPU outside the spec, in some cases by a vast margin. Also, it can cause issues when this exploit goes undetected by a hardware reviewer, since both the performance and the sofware based power consumption figures will be affected by it.

For example, if we take a Ryzen 7 3700X CPU that has 65W TDP and 88W default power limit (PPT), and use it on a board which has declared only 60% of its actual telemetry reference current, we'll end up with effective power limit of ~ 147W (88 / 0.6) despite running at stock settings (i.e. without enabling manual overclocking or AMD PBO). While the 3700X SKU used in this example typically cannot even reach this kind of a power draw before running into the other limiters and limitations, the fact remains that the CPU is running far outside the spec without the user even acknowledging it. This exploit can also cause additional cost and work to the consumer, who starts wondering about the abnormally high CPU temperatures and starts troubleshooting the issue initially by remounting the cooling and usually, eventually by purchasing a better CPU cooler(s).

HWiNFO will display "Power Reporting Deviation" metric under the CPUs enhanced sensors. The displayed figure is a percentage, with 100.0% being the completely unbiased baseline. When the motherboard manufacturer has both properly calibrated and declared the reference value, the reported figure should be pretty close to 100% under a stable, near-full-load scenario. A ballpark for a threshold, where the readings become suspicious is around ±5%. So, if you see an average value that is significantly lower than ~ 95% there is most likely intentional biasing going on. Obviously, the figure can be greater than 100%, but for the obvious reasons it rarely is ;)

As stated before, this metric is only valid during a relatively stable near-full-load condition. That is due to the typical measurement accuracy of the VRM controller telemetry, and also due to the highly advanced and fast power management on Ryzen CPUs, that not only result in extremely low idle, but also in extremely rapidly changing power consumption. A suggested workload to get a stable and reproducable deviation metric is Cinebench R20 NT, with the HWiNFO sample rate set to less or equal to 1000ms.

As of now, outside of certain MSI motherboards, the biasing isn't end-user controllable. In case there is clear evidence of biasing taking place on certain motherboards or their bios versions, please contact the manufacturer and ask them to remove the telemetry biasing from the bios. The biasing can be implemented in different ways, it can be tied to a specific setting(s) (known as an "auto-rule") in the bios or be fixed in a certain bios version or in all available bios versions.

Here is an practical example recorded on MSI X570 Godlike motherboard, using the most recent 1.93 beta-bios version.
For this bios version MSI has declared 280A reference current, when the correct value that produces near 100% result (i.e. no deviation) and also a matching power draw compared to other boards (same CPU and workload) is 300A. This means that the board allows 7.14% (300/280) higher power draw for the CPU than AMD specifications state. Compared to the worst violators (up to 50%) this is minor infraction, so MSI deserves a benefit of a doubt whenever this is intentional or a honest error.

With the proper 300A setting, the average HWiNFO "CPU Power Reporting Deviation" during Cinebench R20 NT is 99.2%.
With this setting, the average CPU core frequency is 4027.4MHz, power consumption seen by the CPU 140.964W (of 142W limit) and peak CPU temperature of 73°C.

qjankbG.png


With 225A setting (75% of the actual), the average HWiNFO "Power Reporting Deviation" during Cinebench R20 NT is 75.3%.
With this setting, the average CPU core frequency is 4103.5MHz, power consumption seen by the CPU 125.241W (of 142W limit) and peak CPU temperature of 80°C.

qRvEVCD.png


With 150A setting (50% of the actual), the average HWiNFO "Power Reporting Deviation" during Cinebench R20 NT is 50.2%. With this setting, the average CPU core frequency is 4106.6MHz, power consumption seen by the CPU 91.553W (of 142W limit) and peak CPU temperature of 79°C. This setting is already limited by maximum voltage allowed by the silicon fitness (FIT), so there were pretty much no addition performance gains, or ill-effects for that matter to be had.

t0Yifq1.png


I'd like to stress that despite this exploit is essentially made possible by something AMD has included in the specification, the use of this exploit is not something AMD condones with, let alone promotes.
Instead they have rather actively put pressure on the motherboard manufacturers, who have been caught using this exploit.

In short: Some motherboard manufacturers intentionally declare an incorrect (too small) motherboard specific reference value in AGESA. Since AM4 Ryzen CPUs rely on telemetry sourced from the motherboard VRM to determine their power consumption, declaring an incorrect reference value will affect the power consumption seen by the CPU. For instance, if the motherboard manufacturer would declare 50% of the correct value, the CPU would think it consumes half the power than it actually does. In this case, the CPU would allow itself to consume twice the power of its set power limits, even when at stock. It allows the CPU to clock higher due to the effectively lifted power limits however, it also makes the CPU to run hotter and potentially negatively affects its life-span, same ways as overclocking does. The difference compared to overclocking or using AMD PBO, is that this is done completely clandestine and that in the past, there has been no way for most of the end-users to detect it, or react to it.
 
Last edited:
How do I know my "amp setting"?

I just ran Cinebench R20 and only got my Power Reporting to read a maximum of almost 75%.

Running a stock GIGABYTE B450 AORUS PRO WIFI (F42c), Ryzen 3600.

1591641525505.png
 
How do I know my "amp setting"?

I just ran Cinebench R20 and only got my Power Reporting to read a maximum of almost 75%.

Running a stock GIGABYTE B450 AORUS PRO WIFI (F42c), Ryzen 3600.

View attachment 4576

The design specific reference value (amps) is not what is important here, but how the actual and the declared values relates to each other.
The correct value is determined by the manufacturer and without a cross-reference it is not something the user can determine.

75% is definitely an intentionally biased figure, which frankly was expected...
 
There is typically a delta between the software-reported values and measurements taken at the physical layer (i.e., the 8-pin) due to VRM efficiencies. Assuming the software is reporting correctly, and that the settings are correct in the BIOS, what type of delta should one expect between measurements at the eight-pin and the software-reported values? 8-10%?
 
Last edited:
Wanted to check in here, thanks for this new addition, these are my results with my gigabyte b450 gaming x motherboard with a ryzen 2700x

i also want to point out that my voltage is set to "normal" instead of " auto" in my bios, because auto seems to show more aggresive and weird behaviour with voltages and temps (?)


Prime95 is a bit above %100
 

Attachments

  • prime95work.png
    prime95work.png
    67.6 KB · Views: 183
Oof. As I run the EDC Glitch of 300/230/20 1x scaler it shows a difference of 102-140% percent. I wonder if this will actually help to prove that this glitch does or does not actually improve perfomances despite getting great max clock speeds on my 3950x
 
Under Linpack my reading averaged 127%. I run an MSI MEG X570 ACE ver. 1.80. If I understand the article correctly, MSI is seriously overvolting my cpu, correct? If so, is there any setting I can make to the voltage to lower the overvolt? I currently have the cpu voltage locked at 1.42v as it was pushing over 1.5v on auto. No cpu overclock. No PBO. It happens on Both AMD High Performance Power Plan and the 1usmus Ryzen Power Plan. I have wondered why this cpu seemingly runs so hot when there is an NH_D15 cooler set to full fans on top. This cooler should be well able to keep the 3900X under 70c. The article states outside of certain MSI mobos, the setting isn't available. Can someone tell me if this mobo has it available? And thank you fro bringing this to the forefront.
 

Attachments

  • load.png
    load.png
    2 MB · Views: 129
Last edited:
It seem this power deviation affected all Ryzen from gen 1? Any data that showed failure rate of CPU from Ryzen gen 1 because of this matter? or the failure becomes goes Up?
 
According to the post, any value OVER 100% means your motherboard is OVER reporting your CPU's power usage, which would cause it to throttle earlier (making it slower overall). It's implied that most motherboard manufacturers wouldn't do this because it means their CPU benchmark scores will be lower.

A score UNDER 100% means that your motherboard is UNDER reporting your power consumption, which will make the CPU speed up, increasing the voltage and temperature.

A quick test of this showed my CPU sitting at 85% of the reported usage, although I've heavily tweaked various values in the motherboard. Going to reset everything to stock and give it a try.

Edit: Reset all settings, set D.O.C.P (xmp) for ram, disabled PBO and left everything else on default/auto. Power Reporting Deviation at 90% steady.

ASUS Crosshair Hero VIII - BIOS v1302 - 3950x

So ASUS are playing with my power values without telling me. I weighed up some acceptable risk on my $750 usd CPU when I decided to play with the PBO numbers, I did not account for a 10%+ skew to those numbers.
 
Last edited:
It looks like it only works for the auto-boost, it shows about 150-200% for me with CCX OC either in full load (CPU-z test) or in idle (actually, it's more like 230-300% in idle)
 
Did a 3D Mark Timespy benchmark and I get a 20%~ deviation (79%) for my 3700X and ROG CROSSHAIR VIII HERO (WI-FI) motherboard that's running the latest BIOS version (1302). Morphello reports a similar outcome with a 3950X CPU and I assume the none WiFi variant of this motherboard.
 
MSI B450 Gaming Plus Max is showing 150% - 160% deviation with Ryzen 3600 under lite load. Under stress test it shows 89% - 94%. I did not change anything in BIOS except XMP profile, PBO is set to auto, power plan is AMD Ryzen Balanced, latest version of bios 7B86vH6. What can I do to make my power deviation to drop when in lite load? Does 150% - 160% power deviation make my cpu hot?
 

Attachments

  • R3600.png
    R3600.png
    47.5 KB · Views: 109
67.5% Gigabyte X470 Gaming 7 (1usmus power plan)

3900X (no OC).

Should i worry ?
 

Attachments

  • shouldiworry.jpg
    shouldiworry.jpg
    832 KB · Views: 137
Again, please take only value under full load into account. Others have no meaning in this case.
 
MSI X570 Unify BIOS A42 with Ryzen 3900X.
With stock settings, under Cinebench R20 workload, it's 98.5% in average.
 

Attachments

  • Unify_98.5_A42.png
    Unify_98.5_A42.png
    1.1 MB · Views: 90
decided to check this after seeing the tomshardware article and these are my results.
this is a 3950x with an ASRock x570 Creator with PBO enabled, infinity fabric clocked to 1800 to match my 3600 RAM (it was set to 1600 by default), and otherwise didn't touch anything in the BIOS.
results are from running cinebench.
the deviation is reporting ~65%, which seems on the high end from what I'm reading here.
i can provide more HWinfo pics if necessary - temps under realistic multicore workload (ffmpeg) run about high 70s with occasional spikes to mid 80s (which then backs down to high 70s again a few seconds after spiking.
i'm not gonna lie, i'm not 100% sure what this all means - but if this is something i should worry about (this was purchased with the intent of being an audio/video/game design/etc. production machine that i would not have to upgrade for some years) i will gladly disable PBO or any other setting necessary. i would prefer to sacrifice shaving a minor percentage off of rendering times and the such instead of juicing things to get an disproportionate amount of performance. i also understand that this is a <motherboard> issue and it may be up to a BIOS update to resolve it - just seeing such a low percentage value for the deviation makes me nervous about this build, which i am otherwise very pleased with and have had very little issues.
i should also note - the current version of ryzen master will not run if VBS is enabled in windows 10 (an apparently mandatory setting if one is using the windows subsystem for linux, which i am). this is an apparently known bug that they will resolve, but currently i can't run ryzen master because of it. i can disable it if necessary if i need to check anything in ryzen master, but otherwise i was under the assumption that 3950x was best "left alone" in terms of overclocking and the such so it initially didn't bug me as i had already more or less had the system set up.
anyways will be following this post as it develops, but if anyone has any specific insight about these specific results please let me know.
 

Attachments

  • 3950x motherboard power draw issue.PNG
    3950x motherboard power draw issue.PNG
    102.5 KB · Views: 119
Back
Top