Overclocking AMD Zen3 with PBO2 Done Right: A full guide

views
Word count: 1.5k (~9 mins to read) Last updated:

Overclocking Ryzen 5600X/5800X/5900X/5950X using PBO2

This guide aims to overclock Zen3 CPUs with Precision Boost Overdrive 2 (PBO2), gaining extra performance in the single-core score(about 5% - 15%) while maintaining or even increasing the multi-core score. The solution may also apply to the Zen4 series, but the args cannot be a valid reference.

Before the overclocking

Mindset

Zen3 series is super hot, so you lower the voltage, lower the temperature, and more performance can be obtained under the temperature limit. The heat gets heavily trapped inside the chip, so a good cooler can help a lot!
Ideal idle temperature: 40-60 Celsius

Although you always overclock with your risks, here’s a point worth mentioning: PBO2 itself is SAFE, since it never actually changes the voltage for different cores under different frequencies(the CPU requires a voltage from the motherboard, so it physically cannot allocate different voltage for each core precisely). Instead, it changes the frequency of each core under a certain voltage (i.e. changes the frequency-voltage curve)! We’ll see how to adjust the curve later.

Note: Even though it’s not the voltage that changes, we still use the term “increase/decrease voltage” in this article because it’s easier to understand.

What we need to spend time adjusting:

  • EDC
  • Curve Optimizer
  • CPU Offset Voltage (if needed)

Know the quality of your chip (Optional)

A specific CPU chip has its quality, indicating the potential performance gain from overclocking. If you are using an ASUS motherboard, try this before the overclocking to know your silicon quality: AMD Ryzen Silicon Tester (AMD V/F). Remember to have everything in default(no overclocking, no PBO2). and have as few background tasks as possible.
Reference table:

Score Quality
<110 Bad
110-115 Normal
115-125 Good
>125 Excellent

All in One Solution (Optional)

If you are finding good initial values for tweaking (or even only use args generated by an automatic tool), have a look → Clock Tuner

Software/Tools to Prepare

  • Corecycler (To test the stability of your overclock settings)
  • AMD Ryzen Master (provided by the AMD)
  • CPU-Z or other benchmark tools

Detailed Steps

Platform used: ASUS TUF B550M

Set BIOS args

Reboot and enter the BIOS, here’s some key settings. The actual path may vary from different motherboards/BIOS. So if an item cannot be found after your carefully searching, just ignore it.

  • Ai Overclock Tuner: Manual or DOCP if XMP for the RAM enabled
  • Performance Enhancement: ALWAYS OFF.
  • Spread Spectrum: ALWAYS OFF.
  • CPU Core Ratio: Auto
    • May change to offset mode if you need to. Continue reading for details
      CPU Voltage
  • Ai Tweaker/DIGI+ VRM
    • VDDCR CPU Current Capability: 130% or 140% or more, as high as possible
    • VDDCR SOC Current Capability (if exists, maybe in a different path): 130% or 140% or more, as high as possible
    • Loadline Calibration: ALL Auto . It’s almost meaningless to change it unless you have a fixed frequency and CPU voltage, or you always get BSoD after every try in PBO2.
    • Set all other options to Extreme if possible
      DIGI+ VRM
  • Advanced/AMD CBS/NBIO Common Options/SMU Common Options
    • CPPC: ON! √√√
    • CPPC preferred cores: ON/OFF, not sure. (I leave it ENABLED, but Windows scheduler sucks so it may make applications stuttery when switching between cores. Test it by yourself after everything is done, if you like!)
      CPPC
  • Fmax Enhancer: ALWAYS OFF.
  • PBO settings under the “Ai Tweaker” tab (if exists): ALL Auto !
  • PBO settings under the “Advanced” tab:
    • Precision Boost Overdrive: Manual
    • PBO Limits: Manual
    • PPT/TDC/EDC (this is an important arg)
      • Reference for 5600X/5800X: 350/140/160
      • Reference for 5900X/5950X: 350/150/190
      • PPT makes little difference, set it to a reasonably high number (300 is enough, I take 350 here)
      • TDC should be lower than EDC about 20~45.
      • EDC is important! If it is too low, not enough energy to feed the chip; if it is too high, the PBO2 algorithm can be extremely aggressive so the CPU is always thermal throttling, leading to worse performance. 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.
    • PBO Scalar: Manual / 10X (If your cooler sucks, make this arg lower)
    • Max CPU Boost Clock Override: 200MHz (If your cooler sucks, make this arg lower too)
    • Thermal limit: auto or a high value. This arg can only lower the temperature limit set by the manufacturer, so it makes no difference
    • Curve Optimizer: Per Core, and the NEGATIVE values for each core are all we have to determine in the next step. Leave it all 0 now.
      Advanced PBO
  • Advanced/CPU Configuration/PSS Support: ON! With some cores sleeping, the working cores can boost more since the chip is cooler.
  • Advanced/AMD CBS/Global C-State Control: ON! For the same reason.

F10 or the key to save the BIOS setting and enter the system to ensure your settings work.

Curve Optimizer: Downvoltaging

The key idea: lower the voltage curve (for each frequency) to have more thermal and power space for boosting.
So we need negative values here.
(We say -25 is more negative than -20, so you know “make the value more negative” will make a negative number even further from zero)

  1. Enter the system, open the Ryzen Master, check for the 1st and 2nd fastest core, and remember the core number (start from 1. e.g. #1 and #5)

  2. Restart and enter the BIOS, find Advanced/PBO/Curve Optimizer or another path if you are using a different motherboard

  3. Set all the cores to negative -30 (if your chip score is not so good, set it to -25 or something) except for the 1st and 2nd fastest core.

  4. For the 1st and 2nd fastest core(numbers start from 0 in many BIOS, in that case, please do a trivial convert for the number. e.g. #1->#0 and #5->#4), set the value to -25(if your chip score is not so good, set it to -20 or something): they need higher voltage to boost higher.

  5. Apply changes and restart, try to enter the system and check stability:

    • Unstable - Can even not enter the system: make the value less negative (increase the voltage) of all cores
    • Unstable - Entered the system and got BSoD: Restart and try to finish these steps before a BSoD again:
      1. Open the Windows Event Viewer, go to System, and look for errors from WHEA-logger with ID=18.
      2. If found, check the APIC ID in detail. APIC ID is the number of the logic core that failed, so you need to convert it into physical core number. For example, my 5800X has 2 threads per core, so APIC ID 9 means physical CPU core #floor(9/2)=#4 (start from #0) failed.
      3. Restart and enter the BIOS, make the value less negative (increase the voltage) of this specific core
    • Unstable - Start a fast verification using CoreCycler(with config.ini args set to runtimePerCore=60, maxIterations=3), but failed: make the value less negative (increase the voltage) of cores reporting errors
      • You can check the log files:
    • Everything is ok and the CoreCycler test passed: can be more aggressive, make the value more negative (decrease the voltage) of all cores by a small value (e.g. 5 or 3 or 1, up to you)
      • Tips: If you hit the minimum value (typically -30) that you can set in Curve Optimizer, but you still want to dig deeper, then you can change VDDCR CPU Voltage from Auto to Offset, and set negative values for your CPU. In this way, you can decrease the CPU voltage (globally) even more when combined with the Curve Optimizer downvoltaging.
      • Note: If your chip sucks, you may even need to set some cores working at positive values (higher voltage than default)
  6. Repeat step 5 until you find the best args!

My results (5800X): -15 for the fastest 2 cores and -28~-30 for others; CPU voltage offset -0.04375
Curve Optimizer
CPU-Z Score:

  • Single-core= 678.0
  • Multi-cores= 6823.6

Verify Stability

If the following condition is met, then you made it!

  • Leave the computer idle (low workload), and open a webpage normally
  • Run Corecycler for like 4 hours with no errors:
    • runtimePerCore = 360
    • maxIterations = 10000
  • Run CPU-Z for a score!
  • Run a benchmark tool and see the args changing on the Ryzen Master panel
  • Play a game or do what you want without BSoD and WHEA 18 event in your event viewer

If any error occurrs, you know what to do from the paragraph above: increase the voltage.

References

[Chinese]AMD RYZEN5000系列体质测试工具分享
[Chinese]5800X PBO和Curve Optimizer的测试与优化
[Chinese]AMD 5000系Ryzen平台锐龙处理器 全面超频快速调教指南
[Chinese]关于EDC对Ryzen5000系列CPU效能的影响
AMD. What’s New with Precision Boost Overdrive 2.