M3 Ultra 512GB vs NVIDIA RTX 4090 for local LLMs
41 reports on the M3 Ultra 512GB and 57 on the NVIDIA RTX 4090
Which is faster for local LLMs?
On Qwen3.8 27B at 4-bit, the M3 Ultra 512GB has 31.8 generation tokens/s (one run); prompt processing 391.2 tokens/s (one run); the NVIDIA RTX 4090 has 40.0 generation tokens/s (3 runs); prompt processing 1949.3 tokens/s (2 runs). 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 23% higher on the NVIDIA RTX 4090 (819 GB/s on the M3 Ultra 512GB, 1,008 on the NVIDIA RTX 4090). Across 3 shared models with generation measurements on both cards, the M3 Ultra 512GB's median is higher on 0 and the NVIDIA RTX 4090's on 3.
- Memory
- 512GB unified
- Memory bandwidth
- 819 GB/s
- FP16 compute
- 28.4 TFLOPS
- Reports
- 41
- Memory
- 24GB
- Memory bandwidth
- 1,008 GB/s
- FP16 compute
- 330 TFLOPS
- Reports
- 57
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
| Model | M3 Ultra 512GB | NVIDIA RTX 4090 |
|---|---|---|
| Qwen3.8 27B4-bit | 31.8one runPP 391.2 (one run)MLXcontext not stated | 40.03 runsPP 1949.3 (2 runs)llama.cpp8K to 194K context |
| Gemma 4 26B · 4B active5-bit | 88.1one runPP 2554.2 (one run)llama.cppcontext not stated | 129.0one runPP 5600.0 (one run)llama.cpp256K context |
| Gemma 4 26B · 4B active4-bit | 87.8one runPP 2595.3 (one run)llama.cppcontext not stated | 149.6one runOllamacontext 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.
| Model | M3 Ultra 512GB | NVIDIA RTX 4090 |
|---|---|---|
| Qwen3.8 27B | 8.0 t/sFP16 | 36.5 t/sQ4_K_M |
| Gemma 4 26B · 4B active | 21.5 t/sFP16 | 82.3 t/sQ5_K_S |
| Qwen3.8 125B · 6B active | 13.6 t/sFP16 | 19.6 t/sQ2_K, experts in RAM |
| Qwen3.6 35B · 3B active | 28.7 t/sFP16 | 129.3 t/sQ4_K_S |
| DeepSeek V4 Flash 284B · 13B active | 22.6 t/sQ8_0 | doesn't fit at these settings |
| Qwen3.6 27B | 8.0 t/sFP16 | 36.5 t/sQ4_K_M |
| DeepSeek V4.1 Flash 552B · 16B active | 30.0 t/sQ4_K_M | doesn't fit at these settings |
| GLM-5.3 320B · 18B active | 7.4 t/sQ8_0 | doesn't fit at these settings |
Change the context, RAM or model in the calculator: M3 Ultra 512GB · NVIDIA RTX 4090
Every report on each card, with its source: M3 Ultra 512GB · NVIDIA RTX 4090