Question Please help me understand Ryzen performance tuning

Sheninat0r

Senior member
Jun 8, 2007
516
1
81
I've been messing with a 3900X and Crosshair VII Hero (X470) for a few days and I can't make heads or tails of how to optimize for performance or power efficiency for either all-core or single-core workloads. I think I've spent too much time with Intel, and my expectations are all out of whack. Asus' BIOS is part of the problem, since there are so many poorly described and duplicate settings. Here are some specific questions:

- What's the difference between "Extreme Tweaker" and "AMD Overclocking" sections in BIOS? Almost every interesting setting is repeated in both places; I've left AMD Overclocking alone as some people say it sets "defaults", but I don't know what that means and why that section even needs to exist.
- What is "Performance Enhancer", and what is "Core Performance Boost"? I've read that Core Performance Boost controls XFR2 and PBO, but then there is a separate PBO configuration area; which setting takes precedence? Why do they recommend not using the Ryzen power plans (in Windows) with higher levels of Performance Enhancer?
- Who do I trust for Vcore readings? Ryzen Master and HWiNFO never agree; people say to use HWiNFO's SVI2 sensors, but then what is Ryzen Master showing? People say VID, but none of HWiNFO's dozens of VID measurements ever match Ryzen Master. Why is HWiNFO better?
- Certain settings in BIOS seem to disable the ability for cores to sleep. If my memory or Fclk goes above 1733MHz, I can't sleep. If my multiplier is set to anything other than Auto, I can't sleep. What is actually going on here? I can't even run my RAM at its XMP settings without losing sleep. This is my biggest problem by far.
- Why doesn't the BIOS measure or display CLDO VDDG?
- What's the deal with Voffset? People say that using a negative Voffset increases overclocking headroom, but I'm seeing my Vcore increase while clocks do not change.
- What is PBO Scalar?
- What do the PBO limits do? I've seen Ryzen Master report over 100% of those limits when they were at stock values, and increasing them doesn't have any noticeable impact on literally anything.
- How do I tune for maximum all-core clocks? How do I even measure all-core maximum clock? Depending on the workload, I've seen between 3.6 and 4.3GHz with the same settings.
- How do I tune for maximum single-core boost? Never seen over 4,550MHz in my testing so far.
- How do I undervolt? I've seen reports of people setting extremely low voltages, seeing reasonable clocks in all monitoring software, and then getting much lower benchmark performance even though the measurements haven't changed. Why is this the case?

This is just the tip of the iceberg. I'm not trying to extract every ounce of performance that my chip is capable of, but I would at least like to understand how it works and what it's doing so that I have the ability to change my position on the performance/efficiency curve in the future. At this point I've reset my CMOS and gone back to 100% stock, which really isn't stock because Asus enables some kind of auto overclocking or PBO out of the box? I find that ridiculous too, but whatever -- that issue can wait for another day.
 

Markfw

Moderator Emeritus, Elite Member
May 16, 2002
25,542
14,496
136
The long and short of it ? It works very well to optimize itself. Tweaking is very difficult to make it any better.

Thats not to say you can't make it better, its just that a lot of work for little increase in performance is what you will find. They did a good job with these chips.
 

Sheninat0r

Senior member
Jun 8, 2007
516
1
81
I started down this rabbit hole when I noticed that my cores weren't sleeping with XMP applied. I don't care about optimizing absolute performance, but I would at least like for my hardware to run at its advertised speed without compromising on something as critical as idle power.
 

tamz_msc

Diamond Member
Jan 5, 2017
3,773
3,596
136
I started down this rabbit hole when I noticed that my cores weren't sleeping with XMP applied. I don't care about optimizing absolute performance, but I would at least like for my hardware to run at its advertised speed without compromising on something as critical as idle power.
By that do you mean that that the lowest reported frequency in something like HWInfo64 is somewhere around the mid-3GHz? If that is the case then you need not worry as the cores are designed to go into low power modes which the monitoring software are not able to detect.
 

Sheninat0r

Senior member
Jun 8, 2007
516
1
81
By that do you mean that that the lowest reported frequency in something like HWInfo64 is somewhere around the mid-3GHz? If that is the case then you need not worry as the cores are designed to go into low power modes which the monitoring software are not able to detect.

Ryzen Master never ever showed "Sleep" for any core at any time, and my minimum CPU Package Power (SMU) in HWiNFO was >30W; per-core power was 0.5-1W instead of under 0.1W.
 

Sheninat0r

Senior member
Jun 8, 2007
516
1
81
Have you tried the different power plans?
I installed the chipset drivers and never touched it, so it's been on Ryzen Balanced. Would this actually make a difference? I know about the CPU % setting in the power plans, but isn't the whole point of the chipset drivers to make the deep sleep work? I could see Fclk/mem clocks affecting sleep due to the SoC/IF needing to adjust to the faster memory, but manual vs. auto multiplier is rather confounding.
 

DrMrLordX

Lifer
Apr 27, 2000
21,620
10,829
136
I've been messing with a 3900X and Crosshair VII Hero (X470) for a few days and I can't make heads or tails of how to optimize for performance or power efficiency for either all-core or single-core workloads. I think I've spent too much time with Intel, and my expectations are all out of whack. Asus' BIOS is part of the problem, since there are so many poorly described and duplicate settings. Here are some specific questions:

Whoa nelly. I'll try my best, but my board is different so your mileage may vary.

- What's the difference between "Extreme Tweaker" and "AMD Overclocking" sections in BIOS? Almost every interesting setting is repeated in both places; I've left AMD Overclocking alone as some people say it sets "defaults", but I don't know what that means and why that section even needs to exist.

AMD has a selection of settings that must be present in any UEFI based on their AGESA firmware. Whether or not the OEM decides to expose the settings to you, the user, is . . . probably up to them. Mostly. If you have an OC board (like C7H) then yeah you'll get that stuff. That's what "AMD Overclocking" is. "Extreme Tweaker" is Asus' own attempt at offering you control of some settings. Yes, these things can be redundant.

How "AMD Overclocking" is really handled varies from one OEM to another. But mostly you want to leave it alone unless you really need access to a setting that, for whatever reason, Asus decided not to expose in their "Extreme Tweaker" menu.

On my x570 Aorus Master, I have no access to VDDG or VDDP voltages in the Tweaker menu (Gigabyte's equivalent to "Extreme Tweaker"). I have to dig into AMD Overclocking to find those settings (under AMD CBS). Or I can set them with Ryzen Master. But I can't do it using Gigabyte's OC menu. Lame.

- What is "Performance Enhancer", and what is "Core Performance Boost"? I've read that Core Performance Boost controls XFR2 and PBO, but then there is a separate PBO configuration area; which setting takes precedence? Why do they recommend not using the Ryzen power plans (in Windows) with higher levels of Performance Enhancer?

Core Performance Boost (CPB) is just saying . . . hey, turn it on, and the CPU will try to boost above its base clockspeed. Basically. Turn it off and you may actually get the chip running strictly at its base clock. You want CPB active unless you're static OCing at which point it's completely irrelevant. Don't know anything about Performance Enhancer.

- Who do I trust for Vcore readings?

Whatever shows the highest voltage. Alternatively, use a multimeter. I find that CPU-z shows the highest voltages during sustained MT workloads, so I use it as my sanity check.

- Certain settings in BIOS seem to disable the ability for cores to sleep. If my memory or Fclk goes above 1733MHz, I can't sleep. If my multiplier is set to anything other than Auto, I can't sleep. What is actually going on here? I can't even run my RAM at its XMP settings without losing sleep. This is my biggest problem by far.

I don't let my CPU sleep ever, so I can't comment on that.

- Why doesn't the BIOS measure or display CLDO VDDG?

Ask Asus. You'll have to dig around in AMD Overclocking to find it, assuming Asus hasn't deliberately hidden it. They may have hidden certain settings just to say on UEFI file size to fit in the C7H rom, though I don't remember if the C7H was one of the x370/x470 boards with small roms.
- What's the deal with Voffset? People say that using a negative Voffset increases overclocking headroom, but I'm seeing my Vcore increase while clocks do not change.

vcore should not increase, and that's really weird. I use a negative offset on my 3900x (-.1v in fact, along with LLC0/LLC off to induce heavy vdroop) to "trick" the default boost algorithm into boosting to higher clocks in MT workloads. Doesn't seem to work for everyone, but it definitely works for me.

- What is PBO Scalar?

I had to look up this one, since I generally do not mess with PBO. PBO has done nothing but cause me to lose performance except in pure ST workloads, so I don't bother with it. Anyway:

Code:
https://www.reddit.com/r/Amd/comments/aje97m/can_someone_explain_pbo_scalar/

- What do the PBO limits do? I've seen Ryzen Master report over 100% of those limits when they were at stock values, and increasing them doesn't have any noticeable impact on literally anything.

I'm sorry to say that as of at least 1.0.0.3ABBA or possibly later that PBO is just plain broken on Matisse. Getting extra performance out of it is very difficult.

- How do I tune for maximum all-core clocks? How do I even measure all-core maximum clock? Depending on the workload, I've seen between 3.6 and 4.3GHz with the same settings.

I run LLC off/LLC0 (lowest LLC setting) and I use a negative voltage offset. I went from CBR20 MT scores in the 7100 range to the 7400 range, and one time I pulled a 7600-ish score. That's in default mode. Temps are nice and low, and AVX2 clockspeeds (Prime95, stuff like that) are higher with this configuration as well.

- How do I tune for maximum single-core boost? Never seen over 4,550MHz in my testing so far.

I've had the most luck just turning on PBO in Ryzen Master and letting it do its thing. I've hit 4625 MHz this way. May be dependent on cooling.

- How do I undervolt? I've seen reports of people setting extremely low voltages, seeing reasonable clocks in all monitoring software, and then getting much lower benchmark performance even though the measurements haven't changed. Why is this the case?

Ah clock stretching. Yay. Never 100% believe any clockspeed readout you see on Matisse. Look at performance results and reason for yourself how fast you really think it's going. Anyway, first and easiest way to undervolt is: run a low LLC setting. Vdroop kicks in hard as current draw goes up. And you can use negative offsets though yours seem to be working backwards?

I installed the chipset drivers and never touched it, so it's been on Ryzen Balanced. Would this actually make a difference? I know about the CPU % setting in the power plans, but isn't the whole point of the chipset drivers to make the deep sleep work? I could see Fclk/mem clocks affecting sleep due to the SoC/IF needing to adjust to the faster memory, but manual vs. auto multiplier is rather confounding.

Oh, again I can't comment on Sleep, but for me, Ryzen Performance was necessary to make default boost work properly. If you're in Balanced mode then your performance will go down sometimes.
 
  • Like
Reactions: Arkaign

Sheninat0r

Senior member
Jun 8, 2007
516
1
81
Thanks, that's very helpful. I guess I'll just run at 1733 memory/IF clock and focus on tuning timings instead. Maybe I'll take another stab at the CPU later, but losing deep sleep is a dealbreaker.
 

Kenmitch

Diamond Member
Oct 10, 1999
8,505
2,249
136
I've been messing with a 3900X and Crosshair VII Hero (X470) for a few days and I can't make heads or tails of how to optimize for performance or power efficiency for either all-core or single-core workloads. I think I've spent too much time with Intel, and my expectations are all out of whack. Asus' BIOS is part of the problem, since there are so many poorly described and duplicate settings.

What uEFI version are you running? Have you tried multiple versions? Sometimes the latest ins't the greatest in the end.

My son's got the Crosshair VI Hero paired with a 3600 in his rig. In the time I spent playing around with it I've come to the conclusion that evil lurks in the uEFI and varies from version to version. Some of the Asus enhancement features kill boost, disable cool and quiet, etc. They fix one thing then break another. I guess in the end it's hit and miss on which uEFI version works out best for you. He's got 3700 MHz memory and it was stable on one uEFI version but would randomly cause crashes on another. Lot's of bells and whistles in the uEFI to play around with, but without knowing what they do it's a tread with caution scenario.
 

HutchinsonJC

Senior member
Apr 15, 2007
465
202
126
I'll try to speak to a few things I've learned along the way. Mind you I've only been playing with my 3950x rig for the last two weeks and it's my first Ryzen machine to tinker with.

PBO (Precision Boost Overdrive) is probably something that's going to be most helpful on all-core loads from my limited experience. Within PBO you have a few options you can adjust. Your CPU looks at these settings to help determine its clocking profile; you can see all of these limits at the top within Ryzen Master. I think my Asus board bios has a auto, disabled, and a manual option here for PBO. With the Manual option I can change the following settings to an exact wattage or amperage, which as I said, does reflect in Ryzen Master (toward the top) that these new limits are in play:

PPT is a wattage limiter on the CPU socket. The default is 142 watts on motherboards that are supposed to be able to support a 105 watt CPU. Increasing this in the bios will probably do almost nothing on a single thread or double thread load as you'll likely not come remotely close to the 142 watts limit for the socket. If you manually change this to 150 to 175 watts, which most enthusiast boards will do easily, you can likely squeeze out a bit more all-core clocks under all-core loads (as long as temps and other limiting factors are ok). Some motherboards are designed to handle a good few hundred watts on this setting because they anticipate folks doing LN2 benchmarks and that sort or 480mm rads. Under a vidcoder/handbrake load, I personally do not feel limited by this setting at 150 watts as I look within Ryzen Master during an encode; this limit doesn't seem to be reached. I probably personally won't adjust this setting to higher than 160 watts, but we'll see.

TDC is an amperage limiter for thermally limited scenarios. The default is 95A on motherboards that are supposed to be able to support a 105 watt CPU. My understanding of this setting may be wrong. On an enthusiast board, and with enthusiast levels of cooling, I suspect this setting is pointless. Lowering this setting (to 80A as an example) is probably beneficial for those folks trying to do super small builds with minimal cooling and don't want the machine to get too hot. With proper cooling (big all-in-one or custom water), I don't think this default 95A setting is limiting at all because you won't be in a thermally limited scenario. *Edit* Playing with a few Cinebench runs, even at 60C the TDC limit of 95A was pegging at 100% in Ryzen Master. That said, I'm now a bit perplexed on what TDC actually does or limits and how it works, as it doesn't seem to be restricting based purely on thermals. *End Edit*

EDC is an amperage limiter on the VRMs. The default is 140A on motherboards that are supposed to be able to support a 105 watt CPU. Increasing this will probably do almost nothing on a single thread or double thread load as you'll likely not come remotely close to the 140A on the VRMs. I suspect that if you were looking to increase the switching frequency on the VRMs, you may want to bump this setting up to accommodate that. In my experience with vidcoder/handbrake, and not having messed with switching frequencies, the EDC setting is the limiting setting that often hits 100% first within Ryzen Master on my 3950x. Increasing this to 150A up from the 140A default has allowed Vidcoder to run another ~60MHz or so on all cores, taking me from ~4200/4220MHz to 4260/4280MHz while encoding. *Edit* Playing with this setting more, and beyond 150 (up to 165), I've not been able to see within Ryzen Master any further boosts in CPU frequency while using Vidcoder. At 165A EDC limit, I now often see within Ryzen Master that EDC floats pretty close to 93% while encoding with Vidcoder. I don't really see it reaching the limit of the setting. So I either need to find another limiting setting within the Bios, or my 3950x basically caps out at 150A EDC as the best I can expect for performance gains from adjusting EDC. *End Edit*

There's another setting within PBO called AutoOC that allows you to boost the top end of the auto-boosting nature of these Ryzen CPUs anywhere from 25MHz up to 200MHz. This would take the 3950x from a top end boost of 4.7GHz to 4.9GHz. And you can see this reflected in Ryzen Master next to where it shows what each core is doing or sleeping, etc. It'll show 4700 to the left normally, but if you adjust this setting, it'll show the 4700+ or whatever you set this setting to. I haven't played with this setting much. I haven't been able to get 4.5GHz to run sustained in a single core load as of yet so I don't see a lot of point in trying to adjust the top end (that often happens for milliseconds at a time) when everything that's limiting the machine to largely run below 4.7GHz would still be at play.

There's another setting that allows you to set a higher likelihood of hitting the higher-end boost numbers more often *Edit* This setting on asus boards is called "Performance Enhancer" *End Edit*. I think the setting on my asus board was something like Auto, 1, 2, 3, but the 3 would give more likelihood that the CPU would use those higher boosted numbers more often. I'm not quite sure of this setting as I haven't gotten around to playing with it to really isolate what it's doing or what kind of effect I would get from it.

*Edit* And another setting I'm looking into this weekend is PBO Scalar which is a setting that can be set as Auto, 1x, 2x, etc up to 10x. Reading around, I think 10x adds something like a 10th of a volt with the point of the setting being that the higher voltage will allow the boosts to last longer. *End Edit*

Hopefully this weekend I can play with some more settings and get things dialed in a bit better.

One issue I feel that I'm having with my Asus Crosshair VIII Hero WiFi board is that it doesn't seem to respect the fan profile that well. I saw a forum post on the asus boards on this matter, too. I tried setting the rev down time at 12 secs, and there are times I can hear fans rev up and down again and it's very obviously less than 12 secs. So hard to say if there couldn't be other little hiccups in there, too.
 
Last edited:
  • Like
Reactions: IEC

HutchinsonJC

Senior member
Apr 15, 2007
465
202
126
Playing with PBO Scalar, I've changed it from Auto to Manual with 2x setting and I noticed my Vidcoder encodes while watching in Ryzen Master went from ~4270MHz down to ~4210MHz. I then changed PBO Scalar to Manual 4x setting and watched in Ryzen Master another encode test and noticed a frequency of ~4235MHz.

This leads me to conclude that Asus' Auto PBO Scalar setting either watches for temps and other limiting factors and sets this in real time, or that Asus' Auto PBO scaling is defaulted to something higher than 4x Manual.

Temps on these Manual x2 and x4 encodes are hovering around 50 and 53C with where I have fan profiles set right now. Going to do a 6x and a 10x Manual test now. Will edit in my findings.

6x was closer to 55C and performed pretty similar as Auto, pushing CPU frequencies back up to the 4260/4270 area.

10x was like 56C mostly. Saw a spike up to 58C. Frequencies through the encode was mostly 4270 to 4275MHz. When I rebooted to play with a different setting after doing the 10x test, I noticed it was still at 6x. There's been a couple times I've had to forcefully turn the machine off at post through these settings changes, so some hiccup here, I'm thinking. About to redo the 10x test.

10x was still pretty close to 56C for the most part. Saw a spike up to 60C. Frequencies hovered pretty closely to 4290MHz throughout the 1min test clip that I've been using for all these tests. Ryzen Master reported voltages pretty close to 1.45 on this test. My EDC hit 98% of the 165A limit on this test a few times from what I could tell.

This leads me to further conclude that Asus' Auto is either watching temps and other limiting factors and setting PBO scalar in real time, or that Asus' Auto PBO is just defaulted to something between 6x and 10x Manual.

I should note that all of this was with the following Precision Boost Overdrive settings: 150w PPT, 95AMP TDC, 165A EDC, 25MHz AutoOC. Also Auto CPU voltage (no offset or manual voltage input). Also I'm using custom water on a 480mm rad.
 
Last edited: