Curve Optimizer is a tool that allows the user to adjust the voltage margin of each individual AMD Ryzen CPU core.
It does this by offsetting the voltage of the CPU core VFT table. While you don’t have exact control over the voltage of each frequency-temperature point, Curve Optimizer allows you to effectively undervolt your CPU.
AMD Curve Optimizer Introduction
AMD introduced Curve Optimizer alongside the Zen 3 “Vermeer” Ryzen 5000 processors as part of the improved Precision Boost Overdrive 2 overclocker’s toolkit.
Under- and Overvolting
Curve Optimizer allows end-users to adjust the factory-fused VFT curve, or voltage-frequency-temperature curve, for each CPU core separately. The VFT curve is a unique curve for each core inside your CPU that defines the required voltage for a given frequency at a given temperature. Higher frequencies or higher operating temperatures require higher voltage.
Curve Optimizer adjusts the VFT curve by offsetting the voltages of the factory-fused VFT curve. By setting a positive offset, you increase the voltage point. Conversely, you decrease the voltage point by setting a negative offset.
“Overclocking” with Curve Optimizer
Curve Optimizer has been one of the most important overclocking tools of the Precision Boost Overdrive 2 toolkit. It is most commonly known for its undervolting capabilities, but on AMD Ryzen CPUs it kind of also works as an overclocking tool.
Take the Ryzen 9 9950X CCD0, for example. When all cores are active, the maximum allowed voltage is 1.35V. The Precision Boost 2 algorithm utilizes the V/F curve to find what’s the maximum possible frequency at 1.35V. With the default curve, that’s about 5630 MHz. However, the programmed maximum frequency for the Ryzen 9 9950X is actually 5750 MHz. So, we miss out on more than 100 MHz. And, actually, we can use the Fmax Boost Override tool to increase the Fmax by another 200 MHz. So, we’re really missing out on about 300 MHz.
Curve Optimizer is an incredible overclocking tool, especially if you have a CPU with lots of undervolt margin. If we set a Curve Optimizer to negative 30, we can shift the entire voltage-frequency curve along the frequency axis. And, suddenly, we need a lot less voltage for every operating frequency.
For example, for 5 GHz we needed about 1.08V by default, but with a -30 CO, now we only need 0.995V! Moreover, the frequency is also boosting higher! The highest frequency with all eight cores active has increased by 200 MHz to 5830 MHz. These higher frequencies are now possible because our Curve Optimizer undervolting pulled them below the 1.35V threshold.
V/F Curve Adjustment Different Across the Curve
Curve Optimizer is a powerful tuning tool. It’s simple but not simplistic. And the more you dig into the details of what it does, the more intricate it becomes to figure out how to apply it in a daily overclock.
Let’s look at the tool’s impact a little differently. Let’s express the voltage shift relative to the default V/F curve. We can see that at higher frequencies the voltage offset is larger. Even expressed as a percentage change, things aren’t linear! A -30 CO adjusts the default frequency above 5.6 GHz by more than 11% whereas at 4.7 GHz it’s only 8%. To make it even more complex: a +30 CO adjusts the voltage by almost +15% at 5.4 GHz.
The reason tuning with Curve Optimizer for our daily overclocks is so difficult is two-fold.
- It impacts the entire voltage-frequency curve. So, it affects stability across the entire range of operating frequencies: from 600 to 6000 MHz.
- The same CO magnitude impacts differently across the curve.
If you’re lucky, your CPU’s undervolt margin matches how Curve Optimizer offsets the voltage across the curve. Then you’ll maximize the performance gains. But if you’re unlucky, and one part of your CPU’s V/F curve has a lot less margin, then your curve optimization journey will be a rough ride.