Thanks for your very informative post. Now, I just have to look into making PB2 work on my system.Ludicrous, untrue, and unsubstantiated nonsense in that order. And I'll prove it.
Before the days of boost clocks, a CPU's clock speed was a set value from the factory. If you had a Pentium 200MHz processor, then you could easily measure the cooling solution by your CPU temps and that's all you needed to do. When loaded, the CPU's clocks were a fixed value. Even when overclocking, older CPU's still had a fixed maximum clock speed and once your cooling could no longer extend the clocks, you were at a point where you could determine which cooling solutions were good enough or could be considered overkill. These days, clock speeds are dynamic. A CPU no longer has a set clock speed value. Instead, you are given a base clock as a minimum standard of what you can expect under load. Then, you are given a boost clock value which is what the CPU can achieve under certain ideal conditions. There are no guarantees you'll ever see these clock speed values nor are there stipulations on how long the CPU will hold that value or even any guarantees on precise conditions which will result in a given clock speed. We do know how to trigger these conditions for test purposes but there are a lot of variables here and what you get varies by individual configuration and even by specific CPU.
Your CPU's boost clock behavior is determined by a number of factors. EDC, PPT, and TDC. They are electrical design current, power package tracking and thermal design current. One additional factor is CPU temperature. If you hit the limits, it will drop the clocks to a lower range to reduce not just temperatures, but in order to keep EDC, PPT and TDC within a certain operational range. It is important to note that the EDC, PPT and TDC values are set by AMD at the factory for these CPU's. There are stock values and precision boost 2 values. The latter obviously are more generous and allow the CPU to reach higher clocks conditions permitting. Precision Boost Overdrive overrides these values and uses motherboard manufacturer specified values.
View attachment 213897
On my test bench right now, at default settings, the 3950X test chip operates in similar temperature ranges. I'm seeing temperatures around 55-58c. I'm getting 3.95-4.0GHz clock speeds running Cinebench or other multithreaded workloads. EDC is at 97%, TDC and PPT are at 100%. These are limits defined by AMD. This isn't PB2, or PBO mind you. These values are more conservative keeping the PPT, EDC and TDC as my limiting factors. As a result, temperature isn't a limitation here. Therefore, my CPU's clocks are limited by those values I keep mentioning. AMD's stock values are conservative and it allows the CPU to operate on virtually any motherboard and with a modest cooling solution. These values keep the temps down and like this, yes, a 240mm AIO would suffice. That said, the CPU is capable of more than the above. So in this scenario we are leaving performance on the table and not getting the most out of our 3950X.
View attachment 213892
Using PB2, higher values are allowed for TDC, EDC and PPT. Using custom water, I'm at 76.11c or thereabouts, but my clock speeds have now reached 4.12GHz to 4.15GHz running Cinebench. If that's what I'm getting on custom water, your 240mm AIO would be out of headroom. Your temps would likely be in the 85c range or worse. Is that doable? Maybe, but I'm not sure that your clocks would actually be as high running that cooler. They certainly aren't running high end air cooling as others in this thread have mentioned. Some have mentioned getting only around 3.9GHz on high end air cooling. These clock speed differences might not seem like much, but Zen 2 scales very well with clock speed increases. Unfortunately, the architecture doesn't have much headroom left in it, which is why we aren't seeing clocks that look more like Intel's. We know from looking at single threaded applications and confirming boost clocks that these micro bursts into the 4.4-4.7GHz range allow the Ryzen 3000 series to be more competitive and even faster than Intel in some cases. Keep in mind, that single-threaded performance is where Intel still does quite well.
View attachment 213894
Under Precision Boost Overdrive, or PBO, we see some differences in performance. Our clocks are actually slightly lower and the CPU temperatures are essentially the same. Thus, our limitations are something else. This has always been the case with the upper end Ryzen 3000 series CPU's. What it seems like is that the clocks are held longer, even if they are a bit lower. This doesn't always result in a boost in performance either and as such PB2 is generally the better option over the supposedly more aggressive PBO which worked well on second generation CPU's like the Ryzen Threadripper 2920X.
View attachment 213895
Now, we are on full manual control. Our voltage is locked in and our CPU clocks are set to 4.3GHz. All the cores are set the same and I repeated the Cinebench R20 run. This was taken near the end of the run, so the temps are at their highest. I will say that I've seen worse temps on this configuration, but it's cooler today than it was the other day when I tested this. But, as you can see the slight increase in clock speeds has resulted in a slight increase in temperatures. Running all core overclocks on these things produces much higher than normal temperatures. It's not usually worth doing and while temps do play a part in our limitations here, simply not seeing high temperatures doesn't mean that your cooling is adequate. It might be adequate without PB2 or PBO running. Or, it could mean that other limitations are in place keeping your clocks down so you aren't seeing your thermal limitations.
I don't have a high end air cooler on hand or I'd have tested it. But based on the data I've seen and shared here, there is virtually no chance that you aren't leaving at least some performance on the table by opting for air cooling instead of a high end 360mm AIO at the very least. Custom water cooling will produce better results. Given the cost of building a good water cooling setup, I can see why some people would be hesitant to go that route despite spending $750 on a CPU. A good setup is going to be at least $400-$500 and it does require more maintenance to deal with and more skill to put it together. First timers will waste more money than they need to by not accounting for every fitting, length of tubing, or flat cutting tubing wrong or whatever. They might need a different case or have to buy some tools to get the job done.
All that said, I stand by my assertion that high end air cooling isn't enough to tame a 3950X and get the most out of it. I think I've shown enough data to prove it as well. Furthermore, if your really feeling up to it, let's try an experiment: If you really think your cooling solution is up to the task, try a 4.3GHz manual overclock on all cores and run Blender bench or Gooseberry and then tell me what your temperatures are. As you can see, at 4.3GHz all core I'm at 79c on custom water cooling doing a quick Cinebench run. I'm using a Koolance Exos 2.5 (360mm radiator) and an Alphacool Eisblock water block. This specific test represents both a heavily multithreaded workload and it represents the edge of what these chips can typically do with a manual all core overclock. If your cooling solution can handle 4.3GHz all core doing something like Prime95, Blender, Gooseberry, etc. then its probably good enough.
I'm just using Cinebench here. This is quick and dirty. When you load up something like Gooseberry, you'll quickly see your cooling solutions limitations. Using this, I'll hit 85c by the end of the hour long run at a 4.3GHz all core overclock. Doing that, you'll likely overrun a 240mm AIO and an air cooler would have NO chance of getting through the test.
Again, AMD doesn't recommend air cooling for the 3950X and doesn't include one with it. Looking at the temps, clocks and real world power consumption, its easy to see why.