llamaperf

M3 Ultra 512GB vs M4 Max 128GB for local LLMs

41 reports on the M3 Ultra 512GB and 53 on the M4 Max 128GB

Which is faster for local LLMs?

On Qwen3.8 125B · 6B active at 4-bit, the M3 Ultra 512GB has 28.0 generation tokens/s (2 runs); prompt processing 558.8 tokens/s (one run); the M4 Max 128GB has 57.2 generation tokens/s (2 runs); prompt processing 586.0 tokens/s (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 1.5x higher on the M3 Ultra 512GB (819 GB/s on the M3 Ultra 512GB, 546 on the M4 Max 128GB). Across 5 shared models with generation measurements on both cards, the M3 Ultra 512GB's median is higher on 2 and the M4 Max 128GB's on 3.

M3 Ultra 512GB
Memory
512GB unified
Memory bandwidth
819 GB/s
FP16 compute
28.4 TFLOPS
Reports
41
M4 Max 128GB
Memory
128GB unified
Memory bandwidth
546 GB/s
FP16 compute
18.4 TFLOPS
Reports
53

Measured on both

Generation and prompt processing speeds 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 bit class. Each side shows the engines and reported context behind its median. Context can mean a configured window or prompt depth, so these are community comparisons with differing settings. How to read these

ModelM3 Ultra 512GBM4 Max 128GB
Qwen3.8 125B · 6B active4-bit28.02 runsPP 558.8 (one run)llama.cpp, oMLX250K context, 1 not stated57.22 runsPP 586.0 (one run)oMLX, 1 not statedcontext not stated
Gemma 4 26B · 4B active4-bit87.8one runPP 2595.3 (one run)llama.cppcontext not stated88.1one runPP 1408.1 (one run)llama.cppcontext not stated
Qwen3.5 122B · 10B active4-bit49.5one runPP 784.5 (one run)MLXcontext not stated15.6one runllama.cppcontext not stated
Qwen3.8 125B · 6B active8-bit25.7one runllama.cpp32K context60.0one runPP 730.0 (one run)mlx-servecontext not stated
Qwen3.8 27B4-bit31.8one runPP 391.2 (one run)MLXcontext not stated21.8one runPP 236.6 (one run)llama.cppcontext not stated

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.

ModelM3 Ultra 512GBM4 Max 128GB
Qwen3.8 125B · 6B active13.6 t/sFP1630.7 t/sQ5_K_S
Gemma 4 26B · 4B active21.5 t/sFP1618.2 t/sFP16
Qwen3.5 122B · 10B active8.3 t/sFP1618.9 t/sQ5_K_S
Qwen3.8 27B8.0 t/sFP166.7 t/sFP16
Qwen3.6 35B · 3B active28.7 t/sFP1621.2 t/sFP16
DeepSeek V4 Flash 284B · 13B active22.6 t/sQ8_048.3 t/sQ2_K
Qwen3.6 27B8.0 t/sFP166.7 t/sFP16
DeepSeek V4.1 Flash 552B · 16B active30.0 t/sQ4_K_Mdoesn't fit at these settings
GLM-5.3 320B · 18B active7.4 t/sQ8_0doesn't fit at these settings
Qwen3.5 9B23.9 t/sFP1620.2 t/sFP16

Change the context, RAM or model in the calculator: M3 Ultra 512GB · M4 Max 128GB

Every report on each card, with its source: M3 Ultra 512GB · M4 Max 128GB

More comparisons