Ryzen 5 7600X part 3: heat and overclocking
To give some more advanced testing the time and effort it deserves while not delaying the info I’ve got any longer than necessary, I’m splitting this into several parts (part 1, part 2, part 3, more to come). (I’m swapping around the order of things a bit, figuring out more about how the CPU works immediately and saving detailed gaming benchmarks for later.)
Heat isn’t a problem at all for the 7600X, but there’s little overclocking headroom.
Temperatures and frequency scaling
At stock settings under a be quiet! Pure Rock 2 (a fairly average-performing 120mm tower cooler) at 19°C ambient with a fan curve that ramps linearly from 40% at 65°C to 100% at 95°C, this is how various workloads perform:
|Deep Rock Galactic||5450||1.200||53|
|Warhammer: Vermintide 2||5450||1.225||66|
|Cinebench R23 single-thread||5450||1.165||52|
|Cinebench R23 multi-thread||5275||1.215||85|
|Prime95 128k FFTs one core||5450||1.250||68|
|Prime95 128k FFTs all cores||5175||1.180||92|
Prime95 is the hottest workload I’ve found, and it still stays below the 95°C limit where soft thermal throttling happens. It also stays much closer to the rated boost clock (5.3 GHz) than the base clock (4.7 GHz). Single-threaded and gaming workloads maintain 5.45 GHz easily, 150 MHz over the rated boost clock.
The voltages are tame, unlike those of most other recent AMD desktop CPUs. I think this is a much better stock tune for the average user.
Speeding the fan up to its maximum doesn’t improve cooling performance much (as with most similar heatsink designs), but slowing it down lets us see generally how different cooling affects it on the heaviest workloads (lighter workloads are already close to the minimum speed this motherboard will run the fan). With a fan curve topping out at 44%, the heaviest workloads look like this:
|Cinebench R23 multi-thread||5175||1.185||93|
|Prime95 128k FFTs all cores||5000||1.115||95|
Cinebench takes a 100 MHz penalty to go with an 8°C increase, and by hitting the thermal limit Prime95 takes a 175 MHz penalty.
For gaming on a 7600X, the cooler basically doesn’t matter. A 120mm tower is more than enough to achieve full performance.
For heavy workloads on a 7600X, there might be room for stronger coolers to add 1 to 3% performance. This is a terrible value proposition. The 7700X costs $150 more and should deliver in the ballpark of +30% performance in the kinds of workloads that are likely to get limited by heat on a 7600X. We would have to get the full +3% (which may not even be possible) from only a $55 cooler (the Pure Rock 2 and similar 120mm towers are $40) to stay in line with this through cooling improvements.
Overclocking doesn’t affect cooler selection much, as we’ll see in a moment.
PBO fmax and CO offsets are the only PBO controls with any real effects. As far as I can tell, it never gets bound by scalar, EDC, TDC, or PPT. (This won’t hold true for the CPUs with more cores.) Given more voltage, the silicon should be able to go significantly faster than this, but some uncontrollable aspect of the default tune won’t let it scale.
For gaming and other light- to mid-weight workloads (those stuck on the 5450 MHz cap), PBO fmax is the setting to look at. My CPU does 5500 MHz (+50) trivially in all the same places it does 5450 stock, but really doesn’t want to go beyond that, even with every other setting configured generously to support it. When set to anything higher, it occasionally tries the higher frequencies on particular cores, but can’t sustain them. I would avoid setting fmax in this region, since it introduces a lot of stability hazard for little if any gain.
For heavy workloads that can’t go as fast as fmax, PBO CO offset is the setting to look at. Negative offsets shift the frequency/voltage curves to let cores go faster while drawing less power. Unfortunately, the only way to guess how much to change this is through stability testing, and I have yet to find a particularly sensitive stability test for this CPU. Windows mostly fails to boot before stress tests fail to run, even testing all load points and cores individually, and a tune right on the edge of being able to boot Windows will still fail occasionally in more complex circumstances.
I have yet to see a core stability problem on this CPU manifest as an error in a program or OS. Instead, it drops instantly into a hard reboot. This is an annoyance in the tuning process, but I appreciate this behavior in general. A system designed to make failures obvious is a system you can be confident in the rest of the time. In this case, given how poorly stability tests work, I’d hardly be comfortable messing with CO offsets at all if problems stemming from them were more subtle.
Using +50 fmax and -18/-18/-18/-18/-16/-14 CO offset (which turned out later to not actually be stable, but should be close), these are the improved frequency / voltage / temperature results in the same circumstances as the first table:
|Deep Rock Galactic||5500||1.165||50|
|Warhammer: Vermintide 2||5500||1.185||63|
|Cinebench R23 single-thread||5500||1.120||50|
|Cinebench R23 multi-thread||5375||1.155||79|
|Prime95 128k FFTs one core||5500||1.190||65|
|Prime95 128k FFTs all cores||5275||1.135||85|