So I have done about 9-12 hours extensive testings.
--
You WILL have to know your max PPT, TDC, EDC else this is just waste of time doing it and you will just be using default values which give you more aggressive under-volt than you might had opted before manually before using this.
Make sure to set those values in bios before moving on else you will just see default values in there no matter if you pick auto oc, or pbo, this was the case at least for me it would not pickup anything else than default values in software until manually set in bios.
So go to bios set values for those and set everything else on auto in PBO menu.
Verify and run a test just to verify settings are applied like on this screenshot, you don't have to run a full test if your settings where not added correct, go back and do it again.
My 5900X can handle these
PPT 185
TDC 125
EDC 170
Screen after completion..
https://i.imgur.com/otgetEQ.png
Video running test being stable for now and screen from HWiNFO just after finished tests.
Setup
5900X B0 Stepping early unit, not first week tho.
Asus x570-I ITX - Bios 4204 with AMD AM4 AGESA V2 PI 1.2.0.6b
3080 FE
16GB F4-3600C15-8GTZ
SF600
All in a loque ghost s1 case with some vector EK cooling setup on all parts.
All this was done by upgrading to latest bios, resetting bios to make sure no old values was stock and I only touched RAM timings with and dram voltage and PPT, TDC, EDC, PBO scalar x10, overclock 200mhz, rest was injected by ryzen masters into the bios settings after hitting apply.
Overall AMD have done a amazing job with this, even noobs can overclock and undervolt proper now 10/10 AMD clap clap
Do you wish to do it your self grab latest version here
https://www.amd.com/en/technologies/ryzen-master
My 5800x is so crap it bootlooped with whatever new RM injected into the BIOS. It even reset the computer while just browsing after I increased the CO values a touch.
New RM were suggesting between -12 to -23 for most of my cores, and I'm beginning to suspect my best cores can't handle the undervolting. I've now put -15 for all cores except for my best two (left them alone) and it seems to be ok after a couple hours of Elden ring and browsing.
I ran a percore and it just set every core to -30 for my 5800X which it can't do as it just bluescreened within 15min of using Chrome.
AMD should post a video guide with best practices on how to use this feature.
I find it really odd that they just dropped a major feature like this without any proper explanation.
Videos
I see a lot of people talking about ryzen masters curve optimizer but im not sure exactly what it does like does it help performance?
UPDATE: I will continue to update this post with relevant learnings if I have them and updated results if I'm still tuning. I answered almost every question the first day, but I can't keep up with answering your questions, especially about your individual cases. Please help each other.
I come from many generations of Intel builds. Over the decades, the experience of overclocking Intel roughly translated to pouring voltage into core and maybe some into uncore while raising the multiplier until you hit a ceiling. Overclocking Zen 3 has been a completely different experience, with boost and PBO doing smart things that you want your OC efforts to support and optimize rather than replace.
I've spent many hours over the past four days overclocking both my 5900X and 5600X rigs, and I've learned a lot on the way. I figured I should share some important information with the community.
I included a background section for newbies that many of you might want to skip.
BACKGROUND
Your CPU will algorithmically boost the frequency of its cores depending on workload. For single threaded workloads, it will boost one core, and for multithreaded workloads, it will boost multiple cores. The frequency at which your core(s) will boost is governed by internal limits, such as power, current, voltage, temperature, and likely other factors, but the important thing to understand is that, holding limits constant, your CPU can boost one core to a higher frequency than it can boost multiple cores. This should make common sense to you.
PBO raises the current and power limits that govern your CPU's boost algorithm. You can raise your PBO settings as high as you'd like, but PBO has a hard limit of allowing 105W TDP CPUs to draw ~220W and 65W TDP CPUs to draw ~130W. PBO does not raise your CPU's max boost frequency, which is 4.8GHz stock for the 5900X and 4.65GHz stock for the 5600X, both of which are typically achievable only when the CPUs are boosting 1-2 cores. Practically speaking, enabling and maxing out PBO translates to your CPU boosting clocks during multithreaded workloads until your CPU is drawing ~220W / ~130W.
Auto OC raises the maximum stock boost clock by an offset, up to +200MHz, that you set. For example, a +200MHz offset will raise the stock 4.65GHz boost limit of a 5600X to 4.85GHz. Auto OC does not guarantee your CPU will be able to reach the boost clock under load. All it does is allow the CPU to try, but the CPU boosting algorithm will still take into account all the factors as usual to determine boost.
PBO 2.0 w/ Curve Optimizer: Undervolting is a way of overclocking CPUs and GPUs that have an internal table that maps voltage to operating frequency. Basically, a 50mV undervolt tells a CPU that instead of operating at, say, 2GHz at 1V, operate at 2GHz at 0.95V instead, and whatever frequency is mapped to 1V is now >2GHz. When a Zen 3 CPU is undervolted, this means that the same power limits that govern its boost algorithm all map to higher operating frequencies.
Curve optimizer basically allows you to undervolt each core independently.
GUIDE STARTS HERE
The steps for using Curve Optimizer to OC are:
-
Curve Optimizer is part of PBO 2.0, so enable PBO and set it to your platform's limits.
-
Under PBO, leave the scalar at Auto. Auto performed the best for me, but if you want to try to tweak this, I'll mention when you should do this.
-
In Curve Optimizer, start with an all core undervolt of -5. Iterate between STABILITY TESTING (HIGHLY TRICKY. SEE BELOW.) and lowering this by -5 each time until you find the lowest stable value.
-
Now you know the undervolt limit of at least one of your cores. You can now go into per core undervolting to find which cores you can bring down further using the same iterative method above.
-
You're done. Now's the time to test a custom scalar value if you really wish to.
You will find that undervolting nets significant gains in both single and multithreaded performance. The more you can undervolt, the greater the gains.
AN IMPORTANT COMPLICATION: UNDERVOTING & AUTOOC
The relationship between undervolting stability and your AutoOC setting is critical. Broadly speaking, the more aggressive you undervolt, the more gains you get, but the higher you set your AutoOC offset, the less aggressive you can stably undervolt. This should make sense to you because your cores require more voltage to attempt the higher boost ceiling you specified. Practically speaking, you will likely find that your once stable undervolt setting is now unstable if you raise AutoOC from +0 to +200MHz.
Let's illustrate this relationship using an example. Say you set your AutoOC offset to +200MHz for a CPU with a 4.8GHz boost limit because you want it to boost to 5GHz. However, you find that the best stable undervolt you can achieve now results in a single core boost speed that barely blips to 4.95GHz. At this point, you should lower your AutoOC offset in order to undervolt further so that your undervolt boost can actually achieve what your offset specifies.
On the flip side, say you have a +0 offset, but your stable undervolt has your single core boost pretty much glued to its limit of 4.8GHz. In this situation, you should increase your AutoOC offset and back off on your undervolting until your offset is again equal to the what your undervolt boost can achieve.
EVEN MORE IMPORTANT: STABILITY TESTING
Your Curve Optimized undervolt will not be stable in low power workloads long before it will show any stability issues in any high power workloads, including every single benchmarking tool you use, including Cinebench and Prime95. An unstable undervolt will result in your PC sometimes randomly freezing, restarting, or BSODing when you're not doing much beyond browsing File Explorer or similar tasks.
Finding a low power workload for stability testing undervolting was the primary challenge of this entire process. The best one I found is the Windows 10 Automatic Repair and Diagnosis workload that can happen pre-boot. You can manually trigger this workload by restarting your PC after it posts but before Windows boots two consecutive times. The third boot will automatically start this workload after post.
This workload completing successfully means it will put you into a menu with a Restart option that you can click on to successfully restart your computer. An unstable undervolt can result in a myriad of different things going wrong, including:
-
The PC suddenly reboots by itself before you reach the menu screen.
-
A BSOD at any point in the workload.
-
Making it to the menu and choosing to restart the PC, but then your PC freezes before restarting.
Once you have successfully triggered the Automatic Repair process, your next boot will be normal. However, if you reset your PC during this next normal boot before Windows successfully loads, it will trigger Automatic Repair in your subsequent boot again.
To test stability, I recommend 10x consecutive successful passes of this workload. This involves using the Automatic Repair workload to restart your computer, resetting your computer in the next boot to trigger the workload again, and repeating. I hope your PC has a reset button next to the power switch, because that comes in handy here.
UPDATE
This stability test works most consistently for finding the limits of your top 2-3 cores in terms of priority. You will notice that after finding these limits, you can undervolt your other cores significantly lower while still passing this test. I haven't yet found a reliable, consistent, and reproducible workload to test these other cores beyond just using your PC and waiting for a random restart or WHEA/other BSOD. Others have mentioned their own jury rigged tests in the comments that you can try.
Finally, low power stability testing is in addition to normal high load stability testing via the usual benchmarks. In fact, if you are failing those, then your OC efforts are in an even worse state than those who only fail low load stability.
MY RESULTS
My final results for my 5900X are:
Core 0: -18
Core 1: -5
Core 2: -18
Core 3: -18
Core 4: -18
Core 5: -18
Core 6: -18
Core 7: -18
Core 8: -18
Core 9: -18
Core 10: -18
Core 11: -18
Scalar: Auto
AutoOC offset: +25 MHz (4.95GHz stock boost limit for unknown reasons, so 4.975GHz with offset)
Cinebench R23 results: https://i.imgur.com/BQNcdbk.png
Takeaways:
-
My all core undervolt wasn't stable beyond -5. As you can see, I eventually realized that it was my Core 1 bottlenecking that.
-
My core 1 happens to be my highest priority core. This means my single threaded score is not nearly as impressive as I'd like. Silicon lottery at play here.
-
I only really bothered individually optimizing Core 1, 2, 0, and 5, as those are my highest priority cores. I always tested cores 3 and 4 together and found stability with them at -20. I tested all my second CCD's cores (cores 6-11) in one batch; there may be some optimizations there, but I couldn't be bothered.
-
While my highest priority core could only support a -5 undervolt, my other cores can be undervolted quite significantly, resulting in a pretty impressive multicore benchmark score, IMO.
My final results for my 5600X are:
Core 0: -8
Core 1: -8
Core 2: -4
Core 3: -8
Core 4: -8
Core 5: -4
Scalar: Auto
AutoOC offset: +200 MHz
Cinebench R23 results: https://i.imgur.com/88JXBOh.png
Takeaways:
-
SC boost was glued to 4.85 GHz, which is the maximum allowed.
-
More interestingly, MC all core boost was at 4.6-4.65 GHz, which is basically the stock single core boost of the chip. Pretty impressive.
I'm running a 9800X3D on a X670-P motherboard, with latest bios.
So my question is about the Curve Optimizer and/or Curve Shaper options in the uefi.
I have been reading up on it a little, and watching some youtube vids, trying to get a handle on how it works. I do grasp, somewhat, how they both work singularly. But I'm still a bit unsure about if I should use them both together or choose one of them.
If you use them, how do you use them ?
Do you have them both enabled and configured, or do you use either or ?
In your experience, which config gives you the most out of your cpu ?
I know it will vary, from cpu to cpu and usecase, but I'm asking for your personal experience and settings/configuration.
Thanks in advance.
Your input is much appreciated.
I have an 5800x3d and an Asus x570-e gaming and using the curve optimizer now with negativ 25 and since i using this my CPU is boosting and 4.45 permanently and barly reach 75°C under gaming
But could this lowering my FPS because i noticed that my CPU is boosting some cores sometime only to 3.56 GHZ when others at 4.45GHz - is this normal under gaming or not?
Cinebench r23 it runs at 4300-4350 permanently with 4450 at the beginning
So first thanks to the few tips on the hardware choices, my terra build worked first time. 7900x, in eco mode, 32gb 6000mhz ram and a 6700x. All expertly built by my 9 year old, it was fun teaching about building computers.
I want to ask about this Ryzen tool that is supposed to automatically curve optimize. My system was stable in eco 105w mode, memory clocked at 6000mhz and the temps are cool - the heat sink cool to touch and ~40oC idle, all nice.
After the optimization finished I had to apply the settings it suggested -36. This made a bsod boot loop immediately after the sign in screen, kmode exception not handled. I had to clear CMOS to get back.
I confess even in my experience of 20+ years I've never really overclocked, I favor stability and don't like to push it if it's fast enough already. As I understand these curve optimizer settings aren't overclocking, but running at peak efficiency.
So what is the problem, the suggested settings are just way off? Do I even need curve optimization? I'm interested in cooler temps without changing the cooling solution and power efficiency.
I also read that we should have done curve optimization with a clear bios, I had eco mode (105w) and expo enabled in the bios?
New to undervolting. I currently have a 9800x3D on an MSI MAG B850 Motherboard. I changed my Curve Optimizer set to All Cores and lowered it to -20 for now. Will tweak according to feedback.
Temperatures are solid averaging 72-74°C (originally low to mid 80’s before undervolting) currently at 1.08 V, testing with AIDA64, but I’m wondering if there’s any other options I should change in the BIOS to fully make sure I’m not ruining my CPU.
If there are any other options I can change in MSI’s BIOS, please leave a reply!