Intel’s push to compete with AMD’s Ryzen has resulted in processors with a lot more oomph going into laptops. Heck, a $500 Intel laptop these days will net you a 4-core/8-thread i5.
The downside of all this power going into laptops is… well… power.
The i5-8250u beside me sips about 2 watts when doing basic tasks (5-8 watts from the wall for the whole laptop), but fire up a game or something resource-intensive and suddenly the CPU rockets up to over 30 watts. For a brief moment the entire laptop pulls over 45 watts which is higher than the power adapter is rated for.
30W is a lot of heat for a basic laptop (with a dinky heat pipe and puny heatsink fins no less) to dissipate. In fact, it can’t keep up with that – moments after a CPU intensive task fires up, the temperature has hit near 100C and the CPU thermally throttles to a lower frequency to keep it from burning up.
As the resource-intensive use continues, the TDP throttling throttling kicks in and limits the power draw to 22W which keeps the frequency down. Note that other laptops with the i5-8250u may cap this at 15W, but regardless, your CPU frequency ends up dropping. You’re no longer above 3Ghz and quite possibly closer to 2Ghz.
Looking around, it seems many Coffee Lake CPUs are similar. If you want the machine to hit the high frequencies it’s going to need a lot of wattage to do it. And that causes throttling.
I’ll start with the benchmarks this time around for those who already know the ins-and-outs and just want the numbers. The Phoronix Test Suite was used for most of the tests, though I manually ran a few games through Windows just because there’s always that chance that OS-specific things come into play.
Due to FPS scaling making charts hard to read (a 10fps result in the same chart as a 300fps result really drowns out the 10fps result), I converted everything to percentages. Percentages also gave better “at a glance” information. Due to the test suite taking about 8 hours per run, I only have numbers for stock and a -0.080v undervolt.
Test Setup: Dell Inspiron 5570, i5-8250u, UHD 620, 8GB DDR4-2400. You can see my write-up for the system itself here.
Above is a variety of CPU-intensive tasks that took X seconds to complete. Compiling code, chess-solvers, prime number calculator, file compression, and a few scientific benchmarks.
You will notice that values are either high or near 0. The multi-threaded tests tend to be high in most cases. Single-threaded tests didn’t really benefit from the undervolt, and thus are generally closer to zero.
The takeaway? Multithreaded stuff tends to benefit quite a bit. If you ignore the items near 0, the average becomes a 7.9% improvement.
The above is everything that didn’t fit in a “graphics fps” or “cpu time” category (hence GLmark2 being in there).
I’m surprised at the Cpuminer and VP9 results – I would have thought they’d be multithreaded and/or benefit. In any case, we again see that multithreaded stuff tends to benefit. 8.7% is what we’re looking at if we avoid the items near 0.
Next up: the games. I had separated these out into FPS ranges because I kind of expected the higher FPS stuff to be less GPU-limited and benefit a little more.
Games are really a wash. I’m inclined to think something went awry during the UT2004 benchmarks despite the Phoronix Test Suite running everything multiple times. If you ignore UT2004, you’re looking at everything being within +/-3% with a slight tendency towards positive values.
Memory benchmarks don’t seem to benefit at all, which isn’t unsurprising. But it was worth checking to be sure.
Where under-volting improves performance, and why!
As seen above, multi-threaded programs that are CPU intensive tend to receive a definitive benefit by lowering the voltage. An ~8% improvement for a -0.080v under-volt is pretty reasonable “free” performance.
Here’s why it works…!
CPU thermal throttling reduces the frequency. The TDP throttling reduces the frequency. Both of these efforts reduce performance, but also reduce the power draw.
By undervolting, we effectively give the CPU less wattage at any given frequency. To give an example, assume we have a thermal limit or TDP limit of 22 watts. Let us also assume the CPU throttled to 2.0Ghz at that 22 watts. Undervolted slightly, reaching 2.0Ghz may now take only 20 watts. The CPU can now use a faster frequency… perhaps 2.3Ghz will now result in 22 watts. Running at 2.3Ghz is obviously faster than running at 2.0Ghz, so we get a little more performance.
Why single-threaded programs don’t gain a performance benefit from the under-volt
At stock voltages, a single-threaded program usually won’t cause the CPU to pull enough power to throttle. As an example, the i5-8250u running ONE thread in Prime95 pulls in the neighborhood of 15-16 watts on my laptop. That’s well below the 22W TDP limit that Dell has set. And when ambient temps are less than 30 degrees C, that 15-16 watts isn’t quite enough to thermally throttle either. The CPU stays at max frequency.
So does under volting provide ANY benefit when running single-threaded tasks on these chips?
POWER CONSUMPTION – 1 THREAD, 3.4Ghz, Prime95
It does! While we don’t get a performance benefit (both stock + undervolted held 3.4Ghz), when running a single-threaded task, undervolting saves power. It also generates less heat.
The -0.080v undervolt saved about 3 watts with a thread running at full-tilt.
The bad news is that at idle, Intel’s chips are already really efficient so the undervolt doesn’t save power there. And multithreaded stuff will generally pull X watts where X is your TDP limit, though if your task finishes *faster* due to the undervolt allowing a higher sustained frequency you’ll save power.
The good news is that for sporadic tasks that just bump the frequency periodically (writing documents, mild web browsing, etc), you should see a power savings.
So… worth it?
It depends on the laptop and your expertise.
If your laptop isn’t very overclocking friendly (ie not easy to recover from bad BIOS settings), it’s probably not very undervolting-friendly either. Options like Intel XTU and perhaps pulling your IFR and writing to the EFI can work, but both can carry inherent risks. A bad or accidental setting could keep your laptop from starting up in which case your laptop might be toast (unless pulling the main + cell battery works or you get lucky and some other BIOS reset option works).
That said, if you get to the point where everything is working swimmingly, free gains are free gains.
…and sometimes it’s just fun to tinker.