AMD Precision Boost Overdrive 2

Precision Boost Overdrive 2 is an extension of the Precision Boost technology which opportunistically increases the CPU frequency.

Precision Boost & Precision Boost Overdrive

Precision Boost Overdrive preserves all the automated intelligence and boost built into the Ryzen CPU. So, AMD claims it provides the user with the best of both worlds: on the one hand it provides the user with an ability to leverage superior cooling to achieve higher performance, and on the other hand the algorithm will still aim to maximize the performance in a wide variety of workloads. In fact, a major benefit of Precision Boost Overdrive is that it increases both the single-core and all-core maximum frequency. That is not the case when manual overclocking as typically the user must sacrifice a lot of single-core frequency.

Precision Boost Overdrive uses a proprietary algorithm with inputs from plenty of sensors inside the CPU to determine what is the optimal frequency and voltage at any given time. It is important to mention that using Precision Boost Overdrive is a form of overclocking and is therefore not covered by warranty.

Precision Boost Overdrive 2

Together with the launch of the Ryzen 5000 desktop processors in November 2020, AMD introduced Precision Boost Overdrive 2. Before we start trying out this feature ourselves, let us first have a quick look at what AMD has to say about it.

When Precision Boost Overdrive 2 is enabled, the maximum operating frequency is governed by 3 major inputs: total socket power, the motherboard VRM current, and the CPU temperature. The System Management Unit, or SMU, onboard the Ryzen CPU continuously monitors the system and decides to boost more or boost less.

A key new feature of Precision Boost Overdrive 2 is the Curve Optimizer. Curve Optimizer allows the user to customize voltages and frequencies and adjust the default factory-set voltage-frequency curve.

There are 6 key settings important when using Precision Boost Overdrive 2:

Precision Boost Overdrive 2 Key Settings
  1. Package Power Tracking or PPT, measured in watts, is the amount of power the processor can draw from the socket before the boost levels off. It is important to note that this measure includes the power from all parts of the CPU, including the cores but also the memory controller and integrated graphics.
  2. Electrical Design Current or EDC, measured in amps, is the peak current that the motherboard VRM can supply under transient conditions. A higher spec (and more expensive) VRM will provide more headroom.
  3. Thermal Design Current or TDC, measured in amps, is the current the VRM can supply for a sustained period of time. Essentially, the limiting factor for this will be the combination of the VRM components and the VRM thermal solution.
  4. Scalar, expressed as a factor, is a way to tell the boost algorithm that the CPU quality is better than it actually is. A higher-quality CPU can reach higher frequencies at the same voltage or use higher voltages within the same thermal constraints. Effectively, the scalar can fool the PBO algorithm in pushing more voltage to the CPU even if it would normally not do so given the factory-fused silicon quality indicator.
  5. Boost Override or Fmax Offset, measured in MHz, is a tool to set a higher ceiling for the maximum CPU frequency. The Fmax Offset can be set in steps of 25 MHz up to 200 MHz.
  6. Curve Optimizer is a tool that enables adaptive undervolting allowing for additional voltage and thermal headroom, resulting in higher frequencies and longer boost duration.

In our last overclocking strategy, we make use of all these settings to maximize the PBO performance. However, before we jump into the data and results, let us first have a quick look at Curve Optimizer.

Curve Optimizer

Robert Hallock, Director of Technical Marketing at AMD, made a great video explaining what Curve Optimizer does. So, I would strongly recommend you to also check out his content on the topic.

What you need to know is that every CPU core in a Ryzen CPU has a factory-defined voltage-frequency curve. This curve determines the relationship between operating voltage and frequency. Typically, the higher the voltage the higher the frequency and vice versa.

Curve Optimizer allows end-users to adjust this curve for each CPU core individually. You are able to offset the entire curve by up to 30 steps in either positive or negative direction. Each step represents between 3 and 5 mV. So, quick math tells us we can increase or decrease the curve by up to 150 mV.

Two key things happen when you adjust the voltage-frequency curve with a negative point offset.

  1. You effectively tell the CPU that for a given frequency it needs less voltage. And, as a consequence, at a given voltage it can apply a higher frequency. So, when the Precision Boost Algorithm determines, let us say, there’s sufficient power and temperature headroom to use 1.35V, with the Curve Optimizer it will target a higher frequency.
  2. Because you use less voltage at a given frequency, the CPU temperature will be lower. That extra thermal headroom will encourage the PBO algorithm to target higher voltages and frequencies.

The main benefit of Curve Optimizer should be to boost the maximum frequency in lightly threaded workloads.

Right, now that we are up to speed on Precision Boost Overdrive 2 and Curve Optimizer, let us put the theory to the test.

Warning: if you are allergic to big Excel spreadsheets outside of work hours, then look away now.

The approach we took to exploring PBO2 is simply trying out every option one by one and monitoring the impact it has on our CPU frequency, voltage, power, and temperature. Our test consists of two back-to-back runs of Geekbench 5. We chose Geekbench 5 because it offers a single test suite that covers a wide variety of workloads including single-core and all-core, AVX and non-AVX, CPU-centric and memory-centric, and so on. We used HWinfo to log the system and then compiled an Excel spreadsheet with all the information.

Here it is … yea I know it is a bit chaotic but let me walk you through it.

In total, we have 10 test scenarios and tracked 13 measurements. Each scenario builds on top of the previous one.

  • In Scenario 1, we leave all BIOS settings by default and disable Precision Boost Overdrive 
  • In Scenario 2, we leave all BIOS settings by default and enable Precision Boost Overdrive 
  • In Scenario 3, we keep Precision Boost Overdrive enabled and also set Max CPU Boost Clock Override to +200MHz. 
  • In Scenario 4, we additionally enable D.O.C.P. and manually enforce FCLK to run in synchronous mode.
  • In Scenario 5, we manually set the PPT, TDC, and EDC limits
  • In Scenario 6, we set the scalar value to 10X.
  • In Scenario 7, we use the Curve Optimizer and try an all-core negative value of 30 and 15. While negative 30 did in fact pass our PBO-2 tests, ultimately it was not stable enough to pass the other benchmarks.
  • In Scenario 8, we continue with Curve Optimizer all-core negative 15 and configure the most aggressive VRM settings with CPU load-line calibration level 4.
  • In Scenario 9, we use the same settings but just change the load line to level 1.
  • Scenario 10 is our SkatterBencher OC Strategy #4 where we tuned the Curve Optimizer for each core individually.

The 13 measurements include:

  • Maximum CPU Core Clock Frequency and Average CPU Clock Frequency for frequencies over 4 GHz
  • Maximum Effective CPU Clock Frequency and Average Effective Clock Frequency for frequencies over 4 GHz
  • Maximum VID and average VID for VIDs over 1.2V
  • Maximum Vcore and average Vcore for voltages over 1.2V
  • Peak PPT
  • Peak TDC
  • Peak EDC
  • Peak CPU Package Power
  • Peak CPU Temperature

We explained the difference between Core Frequency and Effective Clock in a previous AMD Ryzen overclocking guide.

Core Frequency is the frequency that is configured by the CPU and read from the CPU registers. This is the frequency that you will see in CPU-Z for example. Effective Clock measures the average actual clock across a polling interval.

The difference between the two values is that the Core Frequency is the frequency as measured in one moment in time, whereas the Effective Clock measures the total clock cycles between two moments in time.

These two measurements can differ a lot because modern CPUs like the Ryzen 5000 have very advanced power-saving features. When a CPU core has nothing to execute it will quickly go to a low power state. This is great as it opens up more power budget for any of the other cores that do need to execute. So those other cores may boost to a higher frequency.

The effective clock is the more relevant measure of the two when overclocking and performance tuning as it will tell you what the actual frequency is as opposed to what is the configured frequency.

Now let us go over some of the interesting findings.

  • The Max Vcore does not really change going from PBO disabled to a fully tuned PBO. There is no way for us to increase the Vcore ceiling, so this will be the limiting factor for the Frequency.
  • While the maximum Vcore does not change, the average Vcore when over 1.2V does increase from 1.36 to 1.45 when playing with PBO. So, on average, higher voltages will result in higher frequencies.
  • Curve Optimizer has a powerful impact on the maximum clock frequencies that the PBO algorithm will use. With the right cooling and the right CPU, you can effectively reach the upper maximum limit.
  • Fmax Offset, or Boost Override, does not have that much of an impact unless you also use the other PBO tools.
  • If we look at the Effective Clock Frequency distribution, we can see that even during two back-to-back runs of Geekbench 5, more than 60% of the time the system is effectively idle.
  • The Scalar is supposed to force the CPU to pursue higher voltages more aggressively. While a lot of people say the scalar has no impact on their performance, we can actually see its impact when looking at the Vcore distribution. You can see that the range before enabling Scalar is from 1.32v to 1.42v. After enabling the Scalar, the range is from 1.37v to 1.44v. So, it is clear that the CPU is indeed setting higher voltages.

Before we move on to the benchmark results, one last thing. Since Curve Optimizer clearly has a significant impact on the potential overclocking headroom, it makes sense to take the time to find the best setting for each individual core. Even if only a couple of cores can use negative 30, these will be the cores that give you the highest performance in lightly threaded workloads.

There are several approaches how to find the best cores but here is mine.

  • First, go in the BIOS and set all cores to negative 30.
  • If this boots into the OS, open both HWinfo and Prime 95
  • Run the Prime 95 all-core workload and monitor the effective clock frequency. You will find that some cores will operate stably at the highest frequency, some will not.
  • Note down which cores are either crashing or suffering from clock stretching.

Clock Stretching is a safety feature that is built into all AMD Ryzen CPUs. When the CPU thinks the actual voltage is too low to sustain a stable system at a given frequency, it will reduce the clock period until the voltage is back at the acceptable level.

The result of clock stretching is that while the system will report the Core Frequency as usual, the effective clock will be lower. So, since a lower amount of clock cycles occur the performance will also be lower.

Clock Stretching has been a major topic among AMD Ryzen enthusiasts. Typically, users would find that setting a higher frequency would result in lower performance. The best way to check if clock stretching is happening is by checking the Effective Clock measurement in HWinfo. If the effective clock is significantly lower than the configured core frequency when the system is under load, then it is likely that clock stretching is happening on your system.

Now back to the Curve Optimizer approach.

  • Reboot and go back into the BIOS. For those cores which were not stable, decrease the negative curve offset.
  • Then go back in the OS and repeat the same test.
  • Repeat this process until you find the setting that is stable for all cores.

You will notice four things:

  1. Curve Optimizer is a powerful addition to the PBO toolbox and can give enthusiasts quite a bit of extra overclocking headroom.
  2. There can be a great difference between your cores. In my case, I had 4 cores that could do negative 30 and two cores that could only do negative 13.
  3. You will find that as you adjust the curve optimizer for the unstable cores, the Prime 95 frequency will decrease. That is of course because there is only 1 frequency and voltage applied to all cores in the CPU die. So, the performance is capped by your worst cores.
  4. The ideal Curve Optimizer setting also depends on the VRM load-line. So, I suggest that if you are going down the road of Curve Optimizer that you first set your VRM loadline level.

AMD Precision Boost Overdrive 2 in SkatterBencher Guides

We use AMD Precision Boost Overdrive 2 in the following SkatterBencher guides:

  • SkatterBencher #27: AMD Ryzen 9 5950X Overclocked to 5117 MHz (link)
  • SkatterBencher #26: AMD Ryzen 9 5900X Overclocked to 5223 MHz (link)
  • SkatterBencher #24: AMD Ryzen 7 5700G Overclocked to 4850 MHz (link)
  • SkatterBencher #18: AMD Ryzen 5 5600X Overclocked to 4850 MHz (link)