docs: M3 Air — matched-width generational delta + fanless negative result

Fifth machine. Two additions:
- M3 Air (10c) vs M5 (10c): same GPU width, 2 generations apart -> M5 is 7.7x
  at seq 4096. Isolates architecture from width (the Ultras can't). head_dim-56
  fallback reproduces here too (padding = 2.6x), so it now holds on every
  Apple GPU generation shipping today.
- Fanless sustained load: NO meaningful throttle over 5 min (1.01x at 300s).
  We predicted a decay curve and found none — reporting the negative, since it
  validates that the burst numbers aren't short-run artifacts.
This commit is contained in:
modelbeast 2026-07-17 01:08:19 +10:00
parent 64be04aeac
commit 6f0fc4998b

View File

@ -1,7 +1,7 @@
---
title: "M-series fleet ablation: M1 / M3 / M4 / M5 (Ultra → laptop)"
title: "M-series fleet ablation: M1 / M3 / M4 / M5 across 5 machines (Ultra → fanless Air)"
date: 2026-07-16
device: "M3 Ultra 256GB · M1 Ultra 128GB · M4 Pro mini 24GB · M5 MacBook Pro 16GB (10-core)"
device: "M1 Ultra 128GB · M3 Ultra 256GB · M3 Air 16GB (fanless) · M4 Pro mini 24GB · M5 MacBook Pro 16GB"
script: scripts/bench_optimizations.py (unmodified) + engine-level tiled×compile extension
---
@ -118,6 +118,39 @@ laptop matches an M1 Ultra on *fused* attention while being ~4× slower unfused
vs 12.2 ms). The narrower the GPU, the more the fast path is worth. (M5 numbers taken on
a machine in active desktop use; treat as indicative, not lab-clean.)
### Generational delta at *matched* GPU width — M3 Air vs M5, both 10-core
The Ultras confound generation with width. These two don't: both are 10-core laptop GPUs,
two generations apart (fused SDPA, hdim 64, fp32):
| seq | M3 Air (10c) | M5 (10c) | **M5 speedup** |
|---|---|---|---|
| 1024 | 2.44 ms | 0.80 ms | **3.1×** |
| 2048 | 17.51 ms | 2.32 ms | **7.5×** |
| 4096 | 55.77 ms | 7.22 ms | **7.7×** |
~7.7× at identical core count — i.e. the M5's gain is architectural, not width. (Apple's own
published MLX figures claim ~3.8× M4→M5 on FLUX image-gen; this attention workload shows more.)
The head_dim-56 fallback reproduces on the M3 Air too — padding to 64 gives **2.6×**
(138.91 → 54.26 ms at (1,16,4096)), so the finding now holds on **M1, M3 Ultra, M3 Air, M4 Pro
and M5** — every generation Apple currently ships.
### Fanless sustained load: the M3 Air does *not* throttle on this workload (negative result)
Every number above is a burst measurement, so we checked whether a fanless chassis invalidates
them. Sustained SDPA `(1,16,2048,64)` fp32 on the M3 Air (MacBook Air, no fan), per-30s medians
over 5 minutes:
| elapsed | 30s | 60s | 150s | 240s | 300s |
|---|---|---|---|---|---|
| median | 13.85 ms | 14.91 ms | 14.55 ms | 14.43 ms | **14.04 ms** |
| vs first | 1.00× | 1.08× | 1.05× | 1.04× | **1.01×** |
**No meaningful throttle** — ~4 % wobble, ending where it started. We expected a decay curve and
did not find one; the burst numbers in this report are therefore not flattered by short runs.
Caveat: attention at this shape may not be power-dense enough to reach the thermal ceiling —
a full multi-minute diffusion pipeline could still behave differently.
## Full ablation tables
### M3 Ultra 256GB