Normal view

There are new articles available, click to refresh the page.
Before yesterdayMain stream

Power Modes and Apple Silicon GPUs

By: hoakley
6 January 2025 at 15:30

Some recent Apple silicon Macs offer High and Low Power modes that appear to differ from the Low Power mode offered previously. This article discovers what they do, in particular how these modes affect the GPU.

New Power modes

According to Apple’s most recent explanation of Power modes in Apple silicon Macs, these are restricted to specific models. Low Power mode is apparently only available in:

  • MacBook Pro with M1 Max, M2 Max, M3 Max or M4 chips,
  • iMac with M3 or M4 chips,
  • Mac mini with M2 or M4 chips.

Low Power mode “reduces energy use to increase battery life” and, in macOS Sequoia 15.1 and later reduces fan speeds to minimise generated noise and to reduce power use.

High Power mode is only available in:

  • MacBook Pro with M1 Max, M2 Max, M3 Max or M4 chips,
  • Mac mini with M4 chips.

High Power mode primarily runs the cooling fans at higher speeds to allow longer sustained high performance, and “can improve performance in graphics-intensive workflows”. Apple gives examples of the latter, including colour grading 8K video, video editing and 3D apps.

If your MacBook Pro doesn’t have an earlier Max variant or an M4, then what it refers to as Low Power mode in its Battery settings doesn’t appear to be Low Power mode according to that article. That might be the Low Power mode apparently introduced for MacBook and MacBook Pro models from early 2016 and later, when running macOS Monterey 12.0 and later. Juli Clover of MacRumors stated that “reduces the system clock speed and the display brightness in order to extend your battery life even further.”

Apple uses the words energy and power interchangeably, and in places refers not to Power Modes, but to Energy Modes, which is surprisingly inconsistent and thoroughly confusing.

Previous results

When recently investigating CPU core power use in the M4 Pro, I examined the effect of Low and High Power modes. As might be expected from Apple’s description, High Power mode had no effect on CPU core frequencies, their control, power use or performance.

However, Low Power mode had substantial effects on core frequency, performance and power use. When running floating point tests in 10 threads, their cluster frequency was reduced from 3,852 to 3,624 MHz, 94% of Automatic and High Power. That reduced power use from a mean of 13.9 W to 11.2 W, and increased the time to complete threads. Time taken by floating point threads increased to 106% of Automatic and High, while that for NEON increased to 135% and vDSP_mmul to 177%.

My previous measurements in M4 Pro CPU cores found peak average CPU power use of 14 W when running floating point instructions, 33 W for NEON, and 36 W for vDSP_mmul.

Assessing the GPU

My previous attempts to find a performance test that will reliably put maximum load on Apple silicon GPUs had limited success, but Blender Benchmark now appears capable, and has been used extensively. This runs three demanding renders using Metal, and reports for each the estimated number of rendered path tracing samples per minute. Running the Blender 4.3.0 version on the GPU using Metal results in consistent 100% active residency and maximum frequency for periods of several seconds. The standard test sequence used here renders three scenes, named monster, junkshop and classroom.

Tests were performed on a Mac mini M4 Pro with 20 GPU cores running macOS 15.2, thus one of the systems able to make use of both High and Low Power modes, and a MacBook Pro M3 Pro with 18 GPU cores running macOS 15.2, one of the models previously claimed to use ‘old’ Low Power mode, but excluded from the list of those capable of either High or Low Power modes.

GPUs were assessed using the powermetrics command tool’s gpu_power sampler for sample periods of 0.1 second over a total of 5 seconds early in each of the test renders. Activity Monitor’s GPU History window was used to check when each of the test renders had reached 100% GPU, at which point the powermetrics samples were collected into a file. Once the three renders had completed, their scores were recorded and the Blender Benchmark app was quitted. Tests were performed for:

  • M4 Pro, for Automatic, High Power and Low Power,
  • M3 Pro, for Low Power Mode Never and Always.

To ensure the latter had fully engaged, the MacBook Pro was also set to Always and restarted on battery power alone, but that made no difference to render performance.

Power

Differences between GPU performance were most apparent when comparing Automatic and Low Power modes on the M4 Pro, as shown in the chart below.

m4m3gpupower1

GPU power measurements given by the gpu_power sampler are shown against time over the 5 second period during the first, monster render. Filled circles and the regression line in black are those with the Automatic setting, and those in red are at Low Power. Thus, the obvious effect of Low Power mode is to reduce GPU power from about 20 to 6 W.

m4m3gpupower2

This chart adds measurements made during High Power mode in purple. If anything, power use was slightly lower in High Power than in Automatic mode, but there’s extensive overlap between values.

m4m3gpupower3

This adds measurements made with Low Power set to Never on the M3 Pro, shown in blue. Those too overlap with the M4 Pro set to Automatic and High Power, and are about 18 W. No difference was seen with the M3 Pro Low Power mode set to Always.

Blender Benchmark results are compared in the table below.

m4m3gpupower4

As expected, performance was almost identical between M4 Pro automatic and High Power modes, and between M3 Pro normal and Low Power modes. The only substantial differences were between M4 Pro automatic and Low Power, and between M4 Pro automatic and M3 Pro Low Power Never modes.

In the M4 Pro, engaging Low Power mode reduced GPU render performance to 65-71% of normal. The 18-core GPU in the M3 Pro achieved 66-72% of the performance of the 20-core GPU in the M4 Pro. Given that the M3 Pro has 90% of the number of cores, that implies that the GPU cores in the M4 Pro are significantly more performant than those in the M3 Pro, as has been claimed.

m4m3gpupower5

This table brings together performance and power use for the monster render alone. On the M4 Pro, Low Power mode delivered 69% of the render performance using about a third (32%) of the power. That contrasts with the M3 Pro, whose 90% core count used 90% of the power to deliver 72% of the performance, relative to the M4 Pro.

Settings

m4m3gpupower0m3

In the MacBook Pro M3 Pro, Battery settings explicitly refer to Low Power Mode. As this is completely different from the ‘new’ Low Power mode, that’s misleading.

m4m3gpupower0m4

In the Mac mini M4 Pro, Energy settings explicitly refer to Energy Mode, offering Low Power (at the top of the popup menu) and High Power (at the bottom of the popup menu).

Terms used and Apple’s detailed guidance need to be rationalised and made consistent across all recent Macs.

What Low Power mode does

Detailed comparison between powermetrics measurements in automatic and Low Power modes on the M4 Pro confirm that there are substantial changes to control of GPU cores. Running any of the three renders normally results in GPU cores being run at their maximum frequency of 1,578 MHz with 100% active residency and a software state of P10. In Low Power mode, their frequency is capped at 1,056 MHz (67%), active residency remains at 100%, but with a software state of P4-P5.

powermetrics reports two software ‘states’ for the GPU, one that is requested, which for these renders is invariably P10 (P8 on the M3 Pro), and the other the state apparently applied. Although these appear to be some form of priority, with higher P numbers being higher priority, I’ve been unable to find any explanation.

For comparison, when running on the M3 Pro, active frequency was the maximum of 1,380 MHz (87% of the M4 Pro), 100% active residency, and software states requested and given at P8 throughout.

CPU and GPU power use

Perhaps as a result of many GPUs now using 200-1,000 W of power, we have come to assume that GPUs inevitably consume the lion’s share of power in a computer. While that may be true of many PCs, even of some Intel Macs, it isn’t true of Apple silicon.

Maximum power used by the GPU in any 0.1 second sampling period during these tests was 25.3 W, and measurements on M4 Max chips with 40 GPU cores suggest they can use a maximum of about 50 W. Any PC gamer with a GPU using so little power would hang their head in shame, yet performance of Apple silicon GPUs is by no means poor.

While power used by the GPU during heavy workloads can remain at 14 W or more for sustained periods, when performing scalar floating point calculations, CPU cores generally remain below that. However, vector and matrix calculations in CPU cores and possibly the AMX coprocessor can exceed the maximum for a 20-core GPU, at 33 W for NEON floating point vectors, and 36 W for floating point matrix multiplication.

Summary

  • There are two different types of Power Mode in Macs. MacBook Pro models without M1 Max, M2 Max, M3 Max or M4 chips support an older Low Power mode that dims the display to extend battery endurance, but in Apple silicon Macs has no significant effect on their performance.
  • New Power Modes are available in MacBook Pros with M1 Max, M2 Max, M3 Max or M4 chips, and Mac minis with M4 chips.
  • High Power mode doesn’t alter performance, but makes fan strategy more aggressive to support longer periods of high power use.
  • Low Power mode constrains the frequency of CPU and GPU cores to reduce CPU power to about 80% and GPU power to about 33%, so achieving substantial savings and less fan use, at the cost of impaired performance.
  • M4 GPU cores achieve better performance over those in M3 chips by a combination of higher frequency and improvements in the core itself.
  • Apple needs to correct terms used in System Settings, and in its documentation, which are currently misleading and confusing.
  • It’s not clear why Low Power mode is only available in selected models and chips.

❌
❌