🌐
Reddit
reddit.com › r/amd › guide: zen 3 overclocking using curve optimizer (pbo 2.0)
r/Amd on Reddit: Guide: Zen 3 Overclocking using Curve Optimizer (PBO 2.0)
December 22, 2020 -

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:

  1. Curve Optimizer is part of PBO 2.0, so enable PBO and set it to your platform's limits.

  2. 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.

  3. 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.

  4. 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.

  5. 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:

  1. The PC suddenly reboots by itself before you reach the menu screen.

  2. A BSOD at any point in the workload.

  3. 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:

  1. My all core undervolt wasn't stable beyond -5. As you can see, I eventually realized that it was my Core 1 bottlenecking that.

  2. 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.

  3. 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.

  4. 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:

  1. SC boost was glued to 4.85 GHz, which is the maximum allowed.

  2. 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.

🌐
Linus Tech Tips
linustechtips.com › computer hardware › cpus, motherboards, and memory
Ryzen 9 5900x oc find pbo curve optimizer - CPUs, Motherboards, and Memory - Linus Tech Tips
August 5, 2023 - https://linustechtips.com/topic/1510668-ryzen-9-5900x-oc-find-pbo-curve-optimizer/ More sharing options... Followers 2 · Go to topic listing CPUs, Motherboards, and Memory · OPTANE but for GPUs · DavidPatrascu · 10 minutes ago Posted in General Discussion ·
🌐
Linus Tech Tips
linustechtips.com › computer hardware › cpus, motherboards, and memory
Curve Optimizer on 5900X - Better than manual OC! - CPUs, Motherboards, and Memory - Linus Tech Tips
May 28, 2021 - What's up?? Copying this over from my post on reddit. Figured it might be of interest to someone, maybe not.. Whatever 🙂 I have a 5900X and I'm currently playing with the "Curve Optimizer" and am getting the best results I've seen on my CPU! I'm getting 646 single core and over 8900 muti in r20!
🌐
Reddit
reddit.com › r/amd › 5900x pbo + curve optimizer advice
r/Amd on Reddit: 5900X PBO + Curve optimizer advice
March 9, 2021 -

Hello

I've always hated overclocking. I'm the kinda guy who likes to play on his computer, not with his computer. I think this is because of bad experiences overclocking FX 8350 and 6700K, I had unbelievable stability issues on those chips. Running prime95 all night just to have the system crash on me 10 mins after concluding my overclock was "stable".

Anyway, I'd like to share my experience "overclocking" my 5900X, and maybe ask for advice from those more experienced than myself.

I started with everything on default settings and I was getting mediocre results. r20 603 single core and 7800 multicore. Those scores were unacceptable to me. I then started to play around with the settings.

Disabling the Asus 'Fmax' option in the PBO settings raised MC by 600 points to 8400, pretty good. Then activating PBO really did almost nothing on auto settings. So I started reading about it and tuning. I ended up setting PPT, TDC, EDC to 185, 125, 170 respectively, accoridng to https://albertherd.com/2020/12/13/my-experience-with-precision-boost-overdrive-2-on-a-5900x/

I set the scalar multiplier to 10X and max boost to 200MHz.

Finally I set the curve optimizer to -10 all core, and behold, I get around 620 SC annd 8700 MC. This is still a bit shy from the advertised 631 SC, so I decided to decrease the curve optimizer in increments of 5 until Cinebench crashes, and then increase it by 5. I decreased it until I reached -30 and my motherboard wouldn't let my decrease it further. I get scores of 629 SC and 8830 MC. Pretty good I think, but maybe it could be better? I've seen people get better results, but I haven't been able to hit higher numbers with other settings.

Max temp during cinebench was 75 degrees, on prime95 I hit max temp 91 on blend.

I believe my settings are stable, I've been running prime95 on blend for about 30 mins so far as of writing this.

I would like to ask if I made some mistake along the way? Should I have done something different? Are my scores any good?

My specs:

5900X

Corsair H115i platinum

Asus TUF x570 Gaming plus wifi

On cinebench my processor hits a sustained clock of 4600 on MC and 4950-4975 on SC, although I have seen it boosting all the way up to 5150 momentarily on one core.

Thanks for all comments and advice!

🌐
Tom's Hardware Forum
forums.tomshardware.com › home › cpus
Question - Question about my 5900x settings and temperatures - Pbo limits / vcore offset | Tom's Hardware Forum
July 26, 2022 - Hi I have a 5900x on a Dark Hero board, i'm using PBO + curve optimizer with those settings below and I have an EK AIO 360 On CB20 it maxes at 74c @with 4800/4600Mhz In gaming I play I played God of war 3840x2160 No dlss All ultra except shadow on high 80/100 fps 25c ambiant 65 to 73c on cpu...
🌐
Overclock.net
overclock.net › home › forums › amd › amd cpus
Ryzen 9 5900X confused as to how to optimize with PBO2/Curve Optimizer. | Overclock.net
January 24, 2021 - Here are my specs CPU: Ryzen 9 ... RTX 2080 PSU: EVGA 750G2 I started with just setting everything to -30, PBO limits to motherboard, scalar on auto, frequency offset to +325MHz and found these settings made the 5900X boost ...
🌐
Albert Herd
albertherd.com › 2020 › 12 › 13 › my-experience-with-precision-boost-overdrive-2-on-a-5900x
My Experience with Precision Boost Overdrive 2 on a 5900X – Albert Herd
January 13, 2021 - Setting the curve optimizer properly is impossible the way you described. There is a default curve coefficient for all different scenarios and while the highest value will differ the ratio always stays tied to the cppc tag with the highest core always getting the highest value (negative) Here is a couple examples from the same 5900x DEFAULT CURVE COEFFICIENTS CORE#1 6 CPPC 170 CORE#2 1 CPPC 158 CORE#3 6 CPPC 174 CORE#4 6 CPPC 174 CORE#5 2 CPPC 162 CORE#6 2 CPPC 166 CORE#7 1 CPPC 141 CORE#8 3 CPPC 154 CORE#9 0 CPPC 133 CORE#10 1 CPPC 145 CORE#11 0 CPPC 137 CORE#12 1 CPPC 150 DEFAULT CURVE COEFF
🌐
Overclock.net
overclock.net › home › forums › amd › amd cpus
AMD Ryzen Master Curve Optimezer Ryzen 9 5900X | Overclock.net
And when the optimization ends and you click apply settings, the computer reboots, but Windows can no longer start, it gives an error - EXCEPTION OF CHECKING THE MACHINE. You need to go into the BIOS and disable Curve Optimization in order for Windows to start. Motherboard X570S UD Ryzen 9 5900X Windows 11 I would appreciate any help.
Find elsewhere
🌐
Albert Herd
albertherd.com › 2021 › 01 › 16 › overclocking-your-zen-3-ryzen-5000-with-precision-boost-overdrive-2-and-curve-optimizer
Overclocking your Zen 3 / Ryzen 5000 with Precision Boost Overdrive 2 and Curve Optimizer – Albert Herd
January 17, 2021 - Raises your max frequency by 200Mhz. On a 5900x, this translates to a theoretical limit of 5150Mhz, which is realistic. I am told by my readers that setting a +200 boost on the Max CPU Boost Clock Override might negatively impact how much you’ll ...
🌐
Overclock.net
overclock.net › home › forums › amd › amd cpus
-=: AMD Ryzen Curve Optimizer Per Core + Curve Shaper + DDR5 OC :=- | Overclock.net
January 19, 2025 - Using Curve Shaper to adjust voltage and some eCLK info ... CO is per core, CS is all cores. CS allows you to adjust voltage for VFT, Voltage to stabilise Frequency for Temperature in use.
🌐
Overclock.net
overclock.net › home › forums › amd › amd cpus
Need some direction for overclocking a 5900X purely for gaming | Overclock.net
June 29, 2021 - At 4k you're going to be gpu limited pretty much all the time and your 5900x will be more than fast enough to keep up. So, I would start by optimizing the GPU. If you want to play with the cpu, start with FCLK and memory. Use y cruncher and check for WHEA errors for flck stability, then tm5 for memory freq and timings. One you have flck and memory stable, you can enable PBO. I would set this to motherboard limits and then try to reduce curve offsets per core, using core cycler to test for stability.
🌐
SkatterBencher
skatterbencher.com › home › skatterbencher #26: amd ryzen 9 5900x overclocked to 5223 mhz
SkatterBencher #26: AMD Ryzen 9 5900X Overclocked to 5223 MHz - SkatterBencher
July 26, 2024 - Fourth, we push the CPU to 5125 ... with Curve Optimizer · Lastly, we achieve 5228 MHz by supercharging Precision Boost Overdrive · However, before we jump into the overclocking let us quickly go over the hardware and benchmarks we use in this video. Along with the AMD Ryzen 9 5900X processor and GIGABYTE X570S Aorus Master motherboard, in this guide, we will be ...
🌐
Reddit
reddit.com › r/amd › ryzen 5900x curve optimizer - maximize mhz or curve offset?
r/Amd on Reddit: Ryzen 5900x Curve Optimizer - Maximize mhz or curve offset?
January 25, 2021 -

I've been toying with my new 5900x chip, and have been reading up on the new PBO2 and curve optimizer tool. I'm a bit confused because two of the key settings (I think) seem to be contradictory, being the curve optimizer offset (from 0 to negative 30) or the manual OC boost limit (from 0 to +200 mhz). If I set the boost limit to +200, I'm unable to use a lower (more negative) offset and my pc will crash, I'm assuming due to the lower voltage. Which, in theory, is better to maximize? Would it be more beneficial to set a lower boost (say +100) and a lower curve offset (say -15) versus a higher boost (say +150) and a higher offset (say -5)? I guess my question is, how do I find the balance and / or what is the balance I should be aiming for in PBO2?

🌐
Reddit
reddit.com › r/amd › 5900x trying to understand pbo curve optimizer
r/Amd on Reddit: 5900X trying to understand PBO Curve Optimizer
November 26, 2020 -

So somehow I got a 5900X, and being the enthusiast I am I'm trying to see what kinda of clocks I can get out of this thing.

Now I know how it goes with all core clocks on these. Full load clocks are lower but boost clocks are higher, benifiting games.

But I feel like I'm not getting the results with PBO, or more specifically the Curve Optimizer.

Here are my current settings

PBO Limits = 500/500/500 PBO Scalar = 10X Max CPU boost override = 200Mhz

Curve optimization per core all negative Core1 14 circle Core2 20 Core3 14 star Core4 20 Core5 20 Core5 20 Core7 20 Core8 20 Core9 20 Core10 8 circle Core11 15 Core12 8 star

These values were found by starting high and dropping untill stable on each core individually. Circle and star indicate the best cores as per ryzen master, these also happen the be the ones who's curve I can't change much.

Results at these settings are as follows (note these are with normal background tasks running).

Peak clocks on some cores 5024 5099 5024 others range from 4990 to 4876.

Sustained clocks on Cinebench R20 MC = 4524 @ 82C

R20 SC score = 625, MC = 8705

What do people think? Am I using the curve optimizer wrong? Are there additional settings I should be using to improve results? Maybe my silicon is mediocre?

Top answer
1 of 5
12
I'll start with my sustainable scores: Cinebench R20 PBO 1.0 + Auto OC enabled - 11,490 all core, 610 single-core Cinebench R20 PB0 2.0 + Auto OC + Curve Optimizer - 11,658 all core, 656 single core (11,740/661 was attained but had stability issues, see "Curve Optimizer" below) Now my settings: PBO Limits: Motherboard PBO Scalar: 3x Max CPU Boost Override: 200mhz Curve Optimizer: All Cores -10mv Thermal Throttle Limit: Auto VCore Voltage: Auto VCore Loadline Calibration: Auto My understanding of the settings: PBO Limits: sets the power limits for PBO. I have tried to set these manually but can't find anything that meets the performance I get from Motherboard limits. PBO Scalar: The way I understand this is that this controls how quickly a boost ramps up per core, and how much voltage is added when boosting that core. 10x ALWAYS wrecks my #'s. Auto is pretty good, but I get variation there that is difficult to predict if score fluctuation is due to this changing in the background or my subsequent changes changing the score. 3x and 4x give me rock-solid results and the highest R20 scores. Max CPU Boost Override: Maximum frequency that is allowed. No reason to really set this lower than 200mhz. Curve Optimizer: Voltage offset (either +/-). For me, with good cooling (open loop, VRM + CPU cooled monoblock, 2x 360 radiators) lowering the voltage helps. -25 was reducing scores, -20 seemed to keep my scores stable with PBO 1.0 but with lower voltage, -15 improved my scores a lot but I had stability issues when the CPU was at idle and was then hit with a workload, -10 lowered my scores a bit from my peak of -15 but has been rock solid. Thermal Throttle Limit: Sets the temp to where PBO pulls back power and stops boosting. I leave it at auto as this seems to me to be a quick way to smoke a chip. VCore Voltage: Voltage the CPU starts with. VCore Loadline Calibration: I've played with this and Auto gives me the best scores. I think this controls voltage drop under load. My Thoughts: Seems to be a definite performance boost over 1.0, and I have some headroom still there. I think with enough logging of voltages under load applied to individual cores, you can tweak the curve optimizer per core and get another 1% performance. But even without that extra effort it's still an easy 2% boost over PBO 1.0.
2 of 5
5
I haven't had as much time to mess around with mine as I'd like but here's a couple of results using a crosshair VIII hero, 5900x and for now 3600c14, please be aware that I'm using a 420mm Alphacool Eisbear aio so thermals may make a difference. PBO scalar auto, +200, llc level one, platform limits 280/240/240. Curve - 30, cpu voltage offset +0.025 Cpu-z 10K/709, cinebench r20 9000/654. The cinebench all core run saw me reach 84°C so I toned it down a little: PBO scalar auto, +100, llc level one, platform limits 280/240/230. Curve - 20 (all cores) cpu voltage offset none. Max temp 78°C Cpu-z 10K/702, cinebench r20 8956/650
🌐
Reddit
reddit.com › r/amd › my ryzen 5000 pbo 2 & curve optimizer guide
r/Amd on Reddit: My Ryzen 5000 PBO 2 & Curve Optimizer Guide
February 10, 2021 -

Hey everyone I finally finished my video guide on how to use PBO2 + Curve Optimizer.

Link is: https://youtu.be/dU5qLJqTSAc

If you want to skip yet another explanation of PBO2 and curve and just get to the meat you can go to 11:02: https://youtu.be/dU5qLJqTSAc?t=662

A few things that I did that I haven't seen much discussion of is comparing two configurations (One with Boost/AutoOC high and one with a bigger curve) and I also show how changing power limits affects your performance/temps and clock speeds.

🌐
Cubicy
cubicy.icu › overclocking-zen3
Overclocking AMD Zen3 with PBO2 Done Right: A full guide | Cubic Y³
April 27, 2024 - For 5600X/5800X, it is about 150~170; for 5900X/5950X, it is about 170~210. Test different values until you find that the frequency reached a maximum during CPU-Z all-core testing.
Top answer
1 of 3
1
Hi again everyone, finally upgraded to a Ryzen 9 5900X and really please with it. I have read up on undervolting the CPU can help on thermals and in some cases give a tiny performance boost. So I decided to try it out, using PBO. I am currently at all cores negative value of 30 but I am not seeing any real improvement in thermals. It's stable running Prime95 small FFT's max temp is 65. When I run handbrake it goes up to 74 while rendering. Thing is, those are the same values I got before enabling the undervolt , so I am wondering if it's worth it or not. Any help is appreciated, and hopefully this is the right place to ask. The right way to undervolt with a 5900X is using curve optimizer, not by just lowering core voltage. Not even using negative offset. The boost algorithm is temperature seeking so it will always try to reach the same temperature but with an undervolt it hits same temperature at higher clock frequencies. So you should expect to see the same or similar temperatures but with better performance. If you are using curve optimizer try running some controlled benchmarks...Cinebench 20 or 23 are good. Both single thread and multi-thread. Compare them to running the exact same way with and without your curve optimizer undervolt. Your current temperature during a Handbrake video render (74C) is really quite good so you should be able to get decent performance uplift with curve optimizer.
2 of 3
1
PBO doesn't do much for the better Ryzens, they are already binned well and towards the top end of performance. The only thing it really does is raise the potential power limits, and if the cpu isn't reaching the stock limits, having raised limits doesn't do anything. Instead, look into Dram Calculator and ClockTuner2. They work in tandem to raise ram efficiency (important for Ryzens since they work closely with ram speeds and timings) and will also tune the cpu to run at lower voltages. Ryzens are an efficiency engine that works best @ 60°C. It's not only the processor speeds, but the application of the speeds. My 3700x gets higher performance, lower temps, higher fps at 4.28GHz locked cores and 62°C than it does at 4.4GHz locked cores and 80°C.
🌐
Tom's Hardware
tomshardware.com › pc components › cpus
Curve Optimizer Heads To Ryzen Master For Zen 3 CPUs | Tom's Hardware
April 16, 2022 - wifiburger said:doesn't work, x570 ... or profiles PBO and CO are working from the bios side just fineOn the left hand side UNDER Home , click on curve optomizer....