M3 Max 128GB vs M3 Ultra 96GB for local LLMs
6 reports on the M3 Max 128GB and 3 on the M3 Ultra 96GB
Which is faster for local LLMs?
On Qwen3.5 35B · 3B active at 4-bit, the M3 Max 128GB runs at 90.8 tokens per second (one run) and the M3 Ultra 96GB at 109.7 (one run). Those are community reports whose engines and settings differ, so the gap is a rough sign, not a controlled measure of the two cards. Memory bandwidth, which caps how fast a card can write, is 2.0x higher on the M3 Ultra 96GB (410 GB/s on the M3 Max 128GB, 819 on the M3 Ultra 96GB).
- Memory
- 128GB unified
- Memory bandwidth
- 410 GB/s
- FP16 compute
- 14.2 TFLOPS
- Reports
- 6
- Memory
- 96GB unified
- Memory bandwidth
- 819 GB/s
- FP16 compute
- 21.3 TFLOPS
- Reports
- 3
Measured on both
Median tokens per second from plain runs (one device, one request, no speculative decoding, the whole model in the device's memory) of the same model size at the same quant level. Engines and context lengths can still differ between the runs. How to read these
| Model | M3 Max 128GB | M3 Ultra 96GB |
|---|---|---|
| Qwen3.5 35B · 3B active4-bit | 90.8one run | 109.7one run |
Estimated by the calculator
The quant the calculator recommends for each card and its estimated speed at a 32,768-token context with 32 GB of system RAM, from memory bandwidth and the model's shape. Where a model was also measured above, the measurement wins.
| Model | M3 Max 128GB | M3 Ultra 96GB |
|---|---|---|
| Qwen3.5 35B · 3B active | 16.8 t/sFP16 | 57.1 t/sQ8_0 |
| Qwen3.8 27B | 5.3 t/sFP16 | 7.9 t/sFP16 |
| Qwen3.8 125B · 6B active | 24.3 t/sQ5_K_S | 55.1 t/sQ3_K_M |
| Qwen3.6 35B · 3B active | 16.8 t/sFP16 | 57.1 t/sQ8_0 |
| DeepSeek V4 Flash 284B · 13B active | 38.2 t/sQ2_K | doesn't fit at these settings |
| Qwen3.6 27B | 5.3 t/sFP16 | 7.9 t/sFP16 |
| Gemma 4 26B · 4B active | 14.4 t/sFP16 | 19.0 t/sFP16 |
Change the context, RAM or model in the calculator: M3 Max 128GB · M3 Ultra 96GB
Every report on each card, with its source: M3 Max 128GB · M3 Ultra 96GB