A CPU's TDP is a misleading headline number

April 18, 2018

The AMD Ryzen 1800X in my work machine and the Intel Core i7-8700K in my home machine are both 95 watt TDP processors. Before I started measuring things with the actual hardware, I would have confidently guessed that they would have almost the same thermal load and power draw, and that the impact of a 95W TDP CPU over a 65W TDP CPU would be clearly obvious (you can see traces of this in my earlier entry on my hardware plans). Since it's commonly said that AMD CPUs run hotter than Intel ones, I'd expect the Ryzen to be somewhat higher than the Intel, but how much difference would I really expect from two CPUs with the same TDP?

Then I actually measured the power draws of the two machines, both at idle and under various different sorts of load. The result is not even close; the Intel is clearly using less power even after accounting for the 10 watts of extra power the AMD's Radeon RX 550 graphics card draws when it's lit up. It's ahead at idle, and it's also ahead under full load when the CPU should be at maximum power draw. Two processors that I would have expected to be fundamentally the same at full CPU usage are roughly 8% different in measured power draw; at idle they're even further apart on a proportional basis.

(Another way that TDP is misleading to the innocent is that it's not actually a measure of CPU power draw, it's a measure of CPU heat generation; see this informative reddit comment. Generally I'd expect the two to be strongly correlated (that heat has to come from somewhere), but it's possible that something that I don't understand is going on.)

Intellectually, I may have known that a processor's rated TDP was merely a measure of how much heat it could generate at maximum and didn't predict either its power draw when idle or its power draw under load. But in practice I thought that TDP was roughly TDP, and every 95 watt TDP (or 65 watt TDP) processor would be about the same as every other one. My experience with these two machines has usefully smacked me in the face with how this is very much not so. In practice, TDP apparently tells you how big a heatsink you need to be safe and that's it.

(There are all sorts of odd things about the relative power draws of the Ryzen and the Intel under various different sorts of CPU load, but that's going to be for another entry. My capsule summary is that modern CPUs are clearly weird and unpredictable beasts, and AMD and Intel must be designing their power-related internals fairly differently.)

PS: TDP also doesn't necessarily predict your actual observed CPU temperature under various conditions. Some of the difference will be due to BIOS decisions about fan control; for example, my Ryzen work machine appears to be more aggressive about speeding up the CPU fan, and possibly as a result it seems to report lower CPU temperatures under high load and power draw.

(Really, modern PCs are weird beasts. I'm not sure you can do more than putting in good cooling and hoping for the best.)

Comments on this page:

By Ben Hutchings at 2018-04-19 06:19:00:

The manufacturing process for chips is not so precise that every instance of a chip will have the exact same power usage and heat dissipation. Some of the variation in CPU behaviour results in them being put into different speed bins, but there will still be variation within a single speed bin. So I wouldn't read too much into an 8% difference between single samples of two different CPUs.

By Anthony D at 2018-04-20 12:35:24:

I had come to the same conclusion several years ago after doing similar comparisons and trying to account for heat output. TDP is certainly helpful, but I would really like if there was an estimated average BTU (or equivalent) value for CPU's at idle & full-load.

By James (trs80) at 2018-04-25 10:53:36:

Another thing is that Intel and AMD use different definitions for TDP; AMD in particular specify it as power draw. But again it's fairly well known that AMD chips run hotter than Intel chips in general.

Written on 18 April 2018.
« Link: Parsing: a timeline
The sensible way to use Bourne shell 'here documents' in pipelines »

Page tools: View Source, View Normal, Add Comment.
Login: Password:
Atom Syndication: Recent Comments.

Last modified: Wed Apr 18 02:04:17 2018
This dinky wiki is brought to you by the Insane Hackers Guild, Python sub-branch.