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 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 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 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.) 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 ## Full ablation tables
### M3 Ultra 256GB ### M3 Ultra 256GB