Coolers & Cases Really Matter for Ryzen 3000 CPUs | Thermal Scaling & Frequency
Posted on July 18, 2019
In some ways, AMD has become NVIDIA, and it’s not necessarily a bad thing. The way new Ryzen CPUs scale is behaviorally similar to the way GPU Boost 4.0 scales on GPUs, where simply lowering the silicon operating temperature will directly affect performance and clock speeds. Under complete, full stock settings, a CPU running colder will actually boost higher now; alternatively, if you’re a glass half-empty type, you could view it such that a CPU running hotter will thermally throttle. Either way, frequency is contingent upon thermals, and that’s important for users who want to maximize performance or pick the right case and CPU cooling combination. If you’re new to the space, the way it has traditionally worked is that CPUs will perform at one spec, with one set of frequencies, until hitting TjMax, or maximum Junction temperature. Ryzen 3000 is significantly different from past CPUs in this regard. Some excursions from this behavior do exist, but are a different behavior and are well-known. One such example would include Turbo Boost durations, which are explicitly set by the motherboard to limit the duration for which an Intel CPU can reach its all-core Turbo. This is a different matter entirely from frequency/cold scale.
An Intel CPU is probably the easiest example to use for pre-Ryzen 3000 behavior. With Intel, there are only two real parameters to consider: The Turbo boost duration limit, which we have a separate content piece on (linked above), and the power limit. If operating within spec, outside of the turbo duration limit of roughly 90-120 seconds, the CPU will stick to one all-core clock speed for the entirety of its workload. You could be running at 90 degrees or 40 degrees, it’ll be the same frequency. Once you hit TjMax, let’s say it’s 95 or 100 degrees Celsius, there’s either a multiplier throttle or a thermal shutdown, the choice between which will hinge upon how the motherboard is configured to respond to TjMax.
AMD Ryzen behaves more like modern GPUs. The positive way to look at this is simple: Out of the box, the companies are now maximizing performance to the best of their thermal, power, and current conditions, with granular steps in frequency along the volt-frequency curve. Thermal is used as a gauge for where on the curve the silicon should operate at present. This means there’s less overclocking headroom, as the companies no longer have to tune for a worst-case scenario (very conservative clocks), but it also means that the out-of-box performance is nearing the maximum reasonable performance even achievable by manual overclocking. For the consumer on the whole, we think that this move is beneficial overall; as much as we advocate for the enthusiast and OC community, it is also true that most people never overclock their CPUs, and so functionally “pre-overclocking” them is the future of min-maxing silicon.
The best way to demonstrate how frequency scales with thermal is to simply run the tests. We’re using a Gigabyte X570 Master motherboard, the AMD R9 3900X CPU, and full stock settings. This means that Precision Boost 2 is left to do what it wants to modulate frequency to temperature, but please note that Precision Boost 2 is explicitly not the same as Precision Boost Overdrive. Stock mandates that Precision Boost Overdrive is disabled, as this is a current limit bypass for PPT, TDC, and EDC. So just Precision Boost 2, something we explained in excruciating detail in our PBO piece, is what’s responsible for this cold scale.
We’re controlling CPU temperatures within a range of about (positive) 84 degrees Celsius Tdie down to (minus) -80 degrees Celsius Tpot, or LN2 pot temperature, because Tdie sensors are lost at about 0 degrees. As a very strong reminder: The actual cooling solution is irrelevant to this testing, but rather the resulting temperature is what matters. For this reason, we used a Der8auer Beast LN2 pot and manually controlled its temperature to whatever value we wanted, giving us full range to go as warm or cool as we wanted. Our main concern here is that some readers or viewers will skim the content, see “LN2,” and think, “this isn’t for me, it’s pointless and I don’t use LN2.” We are using liquid nitrogen as a tool for this content, remember: The CPU is only as cold as we let it get, so if we sit it at 84 degrees Tdie by just passively cooling with the mass of the LN2 pot, it’s 84 degrees. It’s not like it’s magically -196 from being an LN2 pot. Similarly, keep in mind that the CPU has no idea what kind of cooler is mounted to it – all the CPU knows is its temperature, and it’ll fluctuate clocks based on that temperature. It doesn’t know if there’s liquid, air, or lava on top of it.
One final note, again: This is stock with Precision Boost 2. PBO is not used.
The chart coming up will show frequency and Cinebench score versus temperature. We’re going to be manually tuning the Tdie temperature on the CPU for each test pass, allowing us to see the range of performance under various cooling conditions. This allows us to demonstrate the actual, real-world impact of a good case and good cooler on your CPUs. We’ll start real-world, then go sub-zero just to see if scaling continues.
The chart starts at about 84 degrees Celsius, which is where you might be sitting with a 3900X with the stock cooler and with the average, modern case. At 84, we measured frequency between 3975 and 4000, sticking closer on average to 3975MHz on the 12-core CPU. As we manually dialed our temperature to reach 78 degrees, we averaged 4050MHz all-core frequency. 71 degrees Celsius for Tdie puts us at 4075MHz all-core, with a step down to 61 degrees Celsius, a 10-degree drop, improving all-core frequencies notably to 4150MHz. The next step is to 55 degrees, where we saw an improvement to 4200MHz. This is not delta T over ambient, as the only important thing here is actual operating temperature. Ambient was 21 degrees, but also, we’re showing CPU temperature anyway, so that’s not relevant at the moment. What is relevant is that an ambient temperature of 21-25 degrees is common for an air conditioned house, and that case ambient is often approaching 30 degrees even on good cases, so a 55-degree load temperature is achievable primarily with high-end cooling solutions and well-ventilated cases. It’s achievable, but this is the end of our common real-world scenarios, whereas the 78-84 range would better represent a stock cooler load conditions with a warm case, though note we’re not actually showing stock cooler performance here. That’s a different piece.
Down to 36 degrees, we see scaling continue to 4225, then again at 18 to average roughly 4260, with individual cores bouncing around more. Eventually, we stop scaling at -80 degrees LN2 pot temperature, so the CPU is somewhere between 0 and -80, where the all-core frequency hits 4300MHz. Cold bugs are encountered after this.
As for CB marks, those scale relatively linearly with frequency. The range from 84 degrees Tdie to 55 degrees Tdie, which are the max and min of reasonable temperatures a user might encounter, is about 4% performance increase just from a lower temperature on the CPU. This is why cooler and case selection will matter a lot with Ryzen, and why we as reviewers have to be careful to maintain a fixed cooling condition for testing. The maximum scale, not that it’s particularly relevant to users, is 6.4% from 3120 points to 3319 points, scaling from -80 to 84 degrees Celsius. We’re basically at GPU Boost behavior on a CPU, at this point.
In this regard, we can use liquid nitrogen as a tool for very carefully controlling temperature. Rather than dumping LN2 into the pot, we can run fairly dry and set temperatures to whatever value we want. Manual application of LN2 allows us to keep a fairly consistent temperature, with a range of roughly +/-2 degrees Celsius from test begin to test end. A lot of people will probably overlook the fact that, while LN2 is indeed cold, the CPU is only as cold as we allow it to run. With minimal LN2 use and just an LN2 pot, we can get the CPU to run at 84 degrees and operate under the same thermal conditions as a stock cooler in a warm case. This allows us to test with greater granularity and accuracy as we can dial temperature to whatever we want, rather than being limited by whatever coolers are available. From here, you can extrapolate the thermal data to know how hard you want to brute force the cooling, but colder is definitely better with Ryzen, and you really can’t go too crazy on cold, as illustrated by our sub-zero scaling.
We also realize we’ve repeated one point about four times in this article, but it’s because we know that people will skip around and overlook important parts of even this relatively short text.