ajlueke

The State of Boosting Clocks AMD Ryzen 3000 series.

Discussion created by ajlueke on Aug 28, 2019
Latest reply on Sep 11, 2019 by ajlueke

Hello,  I posted this data in a few different threads but I thought I would consolidate my testing results here.  I would preface this by saying, I have never hit the advertised "4.6GHz boost clock" on a single core load.  The closest I have ever come was on UEFI 2501 based on AGESA 1.0.0.2.  All of the AGESA 1.0.0.3XX releases appear to have modified the boost behavior and reduced the clocks.

 

This testing was performed on a ASUS Crosshair VII X470, UEFI 2703, Ryzen 9 3900X, Corsair Dominator 32GB (4X8GB) at 3600MHz CL16, Windows 10 1903.  On to the observations.

 

1.  PBO appears to do nothing.  If I enable it in any fashion there is no tangible effect on core performance.  All it seems to do is raise voltage, but not apply that voltage to doing any additional work. 

 

2.  The precision boost algorithm doesn't take into account differing CCD quality.  The power budget is wasted by boosting less efficient cores.  This will likely be less of an issue on the single CCD models.  Below you will find the data by which I came to these two conclusions.

 

Figure 1:  CCX Overclock using Ryzen Master.

 

CCX0 is at 4.5 GHz, CCX1 is at 4.4 GHz for CCD0. 

CCX0 and CCX1 are at 4.1 GHz for CCD1.  Voltage is at 1.3V.

 

The downside to any manual overclock is that you cannot apply additional voltage on a lightly threaded, low current workload.  Here are my Cinebench scores with this setting.

 

Figure 2:  Cinebench Result CCX Overclocking (1.3V)

 

Now, here are my numbers again if I use PB and XFR with PBO enabled.

 

Figure 3:  Ryzen Master, Percision Boost, Extended Frequency Range, Precision Boost Overdrive Enabled.

 

Figure 4:  Cinebench Results, using PB, XFR with PBO Enabled.

 

Discussion:  What is immediately striking to me about these results is the single thread score.  When PB and XFR are applied, the single core voltage is boosted to 1.47V and increase of 170mv over my manual setting.  The result performance and clock speed however, are exactly the same.  That extra voltage doesn't appear to be used for anything.

 

Figure 5:  Comparison PB, XFR vs Ryzen Master CCX Overclock.

OverclockingCB20 (single)VoltageCB20 (multi)Voltage
PB, XFR5071.4873211.3
Manual (CCX)5091.375251.3
%Difference0.4%-12.2%2.8%0.0%

 

As we see in the table, a 12% drop in voltage nets the same performance.  This leads me to conclude that PB is somehow broken on the 3000 series.  When the number of cores being used declines, PB should add additional voltage and boost the few cores up higher, which it does, but at a certain point it just stops scaling.  It appears to stop scaling at the FIT limit for a high current workload.  On an all core boost (high current workload), my CPU maxes out at 1.3V, which is the identical voltage I set to achieve a 4.5 GHz clock on CCX0 in CCD0.  In the low current workload, the voltage continues to go up, but I don't see any performance gains.  It is as if the voltage limit for high current workloads is still being applied despite the fact that more voltage is displayed in the measurement tools.  Whether or not this is a bug, or simply a change made with the 1.0.0.3XX AGESAs is unclear, but it does seem like single core performance is being hardcapped at 1.3V just like multicore, despite the higher readings in Ryzen Master. 

 

Now the issue with the multicore boost is a bit different.  When boosting a multicore load, PB and XFR boost all cores simultaneously, which was fine for the 2000 and 1000 series when all cores were relatively the same.  However, AMD has already revealed that the 3900X (maybe the 3950X) has one CCD of 6 cores that performs better than the other.  Trying to push the "bad" CCD to higher clocks takes more voltage than pushing the same clocks on the "good" CCD.  This causes quite a bit of the power budget to be wasted on the "Bad" CCD.  It would be a better use of the available power budget to only push all cores together to say 4.0 or 4.1 GHz, and then only push CCD0.  I was able to increase my Cinebench multicore score by 3% simply by doing exactly that. 

 

I would recommend right now disabling PBO as it appears to do nothing, and overclocking via CCX controls in Ryzen master.  Sure, you lose the high voltage boost on lightly threaded loads, but right now that extra voltage isn't doing anything as far as I can tell.

 

 

Additional Notes:  On my motherboard (Crosshair VII X470), setting the XMP profile breaks boosting.  The XMP profile only sets DRAM clockspeed on the main UEFI page.  When setting the clocks here, Infinity Fabric and the northbridge do not scale with RAM speed and boosting breaks.  There are two other places to set RAM speed, in AMD CBS and AMD Overclocking.  After setting an XMP profile, if the clock speed is set manually in the other two places, Infinity Fabric and northbridge speed scale correctly and the boosting is restored.

Outcomes