llamaperf

M3 Ultra 96GB

APPLE · 96GB unified memory · 10 reports

On the M3 Ultra 96GB, gpt-oss 117B · 5.1B active at 4-bit, the model most run on it, generates a median of 73.0 tokens per second from one plain run (community reports, as of 29 Oct 2026).

As of 29 Oct 2026, the models most run on the M3 Ultra 96GB, with generation and prompt-processing medians from plain runs (one device, one request, no speculative decoding):

Engines people use on it: MLX 3 (reports) · llama.cpp 2 (reports) · ds4 1 (reports)

Run models on your M3 Ultra 96GB? Add your numbers.

Your coding agent can run a speed test on your machine and send it here with a free account. Or paste a result you've already posted.

Reported performance on the M3 Ultra 96GB

These reports mix GPU counts and memory setups, so a model listed here may have needed extra cards or CPU offloading. The calculator estimates which models fit in 96 GB of unified memory.

Apple hardware
generation:
23-30 tokens/s
quant:
Q4_K_M (GGUF)

Reported by the source; GPU count, offloading and concurrent requests can change these figures. Prompt-processing speed is shown only when the source reports it; generation speed cannot tell us time to first token. Check the full setup before comparing.

User asks what throughput to expect from Qwen 3.8 27B on an M3 Ultra 96GB at 100k context, and whether it would be twice as fast as their current setup. Their current two-eGPU setup runs the Q4_K_M model at 23-30 tk/s, which they call usable but slow. No M3 Ultra figures were measured; the post is a question, not a benchmark.

Oct 29, 2026
Apple hardware
generation:
60-70 tokens/s
quant:
oQ4 (MLX)

Reported by the source; GPU count, offloading and concurrent requests can change these figures. Prompt-processing speed is shown only when the source reports it; generation speed cannot tell us time to first token. Check the full setup before comparing.

User reports running Qwen3.8-Flash-Next oQ4 through oMLX on a Mac Studio M3 Ultra 96GB at around 60-70 t/s decode. Setup is oMLX with an MLX oQ4 quant of the model. The figure is given as a range, and the user asks whether the Splash engine running a GGUF model could beat MLX native decode speed, and about the quality trade-offs.

Oct 29, 2026
Tone: positiveApple hardware
generation:
70-100 tokens/s
prompt processing (prefill):
900-1000 tokens/s

Reported by the source; GPU count, offloading and concurrent requests can change these figures. Prompt-processing speed is input throughput, not time to first token. Check the full setup before comparing.

agenticcoding

User reports Flash-Next running through oMLX plus Splash on a Mac Studio M3 Ultra 96GB, used mainly for agentic coding with Pi. Generation is given as 70–100 tokens/s and prefill as 900–1,000 tokens/s, both sustained up to 200K tokens of context with no noticeable degradation. No quant, KV cache format or single measured figure is stated.

Oct 27, 2026
Apple hardware
generation:
73.4 tokens/s
prompt processing (prefill):
1808.0 tokens/s
quant:
Q8_0 (GGUF)
kv:
f16

Reported by the source; GPU count, offloading and concurrent requests can change these figures. Prompt-processing speed is input throughput, not time to first token. Check the full setup before comparing.

User reports Qwen3.5-35B-A3B at 73.43 tokens/s generation and 1808 tokens/s prefill on an Apple M3 Ultra 96GB. Setup is llama.cpp build 8860 with Q8_0 GGUF weights and f16 KV cache, Metal backend, single machine. The figures are separate synthetic tests (TG128 and PP512), not an end-to-end request. Historical TG128 85.48, turbo3 KV 63.23 and PP8192 1183 belong to other configurations and are kept for comparison only.

Oct 17, 2026
Apple hardware
generation:
73.0 tokens/s
prompt processing (prefill):
347.0 tokens/s
quant:
MXFP4 (MLX)

Reported by the source; GPU count, offloading and concurrent requests can change these figures. Prompt-processing speed is input throughput, not time to first token. Check the full setup before comparing.

User reports 73 t/s generation and 347 t/s prompt processing on a Mac Studio M3 Ultra with 96GB, running mlx_lm.server with no speculative decoding and one request at a time. Source evidence (verbatim): Source: https://elitetestengineering.substack.com/p/gpt-oss-120b-on-two-generations-of # GPT-OSS-120B on Two Generations of Mac Studio: The Long-Context Gap Gets Bigger, Not Smaller Two Mac Studios running gpt-oss-120b (mlx-community/gpt-oss-120b-mxfp4-bf16, about 65GB) through mlx_lm.server. M5 Ultra: 30 CPU cores, 64-core GPU, 256GB unified memory. M3 Ultra: 28 CPU cores, 60-core GPU, 96GB unified memory. Short prompt of about 146 tokens: M5 Ultra prefill about 555 tok/s and decode 99 tok/s, M3 Ultra prefill about 347 tok/s and decode 73 tok/s. Long prompt of about 24,400 tokens: M5 Ultra prefill about 3,955 tok/s and decode 76 tok/s, M3 Ultra prefill about 1,101 tok/s and decode 55 tok/s. No speculative decoding was used. The M5 Ultra ran with decode concurrency set above 1 while the M3 Ultra ran with concurrency 1 and prompt caching off, and the article states the M5 Ultra setting inconsistently (2 and 4).

Oct 16, 2026
Apple hardware
generation:
49.1 tokens/s
quant:
4-bit (MLX)

Reported by the source; GPU count, offloading and concurrent requests can change these figures. Prompt-processing speed is shown only when the source reports it; generation speed cannot tell us time to first token. Check the full setup before comparing.

User reports 49.1 t/s generation. Source evidence (verbatim): Source: https://arxiv.org/html/2605.00519v1 # First-hand M3 Ultra 96GB Qwen3-Next 80B native MLX 4-bit generation measurement Original experimental paper Silicon Showdown, arXiv 2605.00519v1, May 2026. Selected Table 5 row: Apple M3 Ultra 96GB, 28 CPU cores, 60 GPU cores; installed unified memory 96GB. macOS 26 Tahoe, MLX v0.30.6. Qwen3-Next-80B-A3B native MLX 4-bit: generation 49.1 tokens/s, 0% CPU offload. Long prompt approximately 496 tokens; output 256 tokens, greedy decoding. Authors report arithmetic mean of three consecutive timed runs after two untimed warmups and fixed random seed. This is their published generation-phase measurement, not a speed derived from TTFT. Prompt-processing speed unreported; leave promptTps null. Context capacity, KV quantization, speculation, concurrency and resident allocation unreported. Verified base-model reference explicitly cited by the paper: https://huggingface.co/Qwen/Qwen3-Next-80B-A3B-Instruct . This is not the tested MLX quantization repository; exact quantized artifact and revision unknown. Do not infer disk size or resident memory. Table 2 names the 96GB machine, not the followed 256GB configuration. Other models, machines and Nvidia offload comparisons are separate runs. Source: https://arxiv.org/html/2605.00519v1 .

Oct 14, 2026
Apple hardware
generation:
29.0 tokens/s
prompt processing (prefill):
274.0 tokens/s
quant:
Q4_K_M (GGUF)

Reported by the source; GPU count, offloading and concurrent requests can change these figures. Prompt-processing speed is input throughput, not time to first token. Check the full setup before comparing.

User reports Qwen3.8-27B at 29 t/s generation and 274 t/s prompt processing on an M3 Ultra 96GB. Setup is llama.cpp 0.4.0 with the Q4_K_M GGUF, run natively through llama-bench on one Apple GPU via Metal. The native benchmark gives 28.97 +/- 0.03 tok/s generation and 273.98 +/- 0.03 tok/s prompt processing; context length, batch settings and offload flags are unreported.

Oct 13, 2026
Apple hardware
generation:
109.7 tokens/s
prompt processing (prefill):
1770.1 tokens/s
quant:
4-bit (MLX)

Reported by the source; GPU count, offloading and concurrent requests can change these figures. Prompt-processing speed is input throughput, not time to first token. Check the full setup before comparing.

User reports Qwen3.5-35B-A3B at 109.7 tokens/s generation and 1770.1 tokens/s prefill on an Apple Mac Studio M3 Ultra with 96 GB unified memory. Setup is MLX with 4-bit weights loaded via mlx_lm.load() and run through mlx_lm.generate.stream_generate() without an HTTP server, at a 512-token context setting, generating 50 tokens at temperature 0.0. Source reports 20.20 GB peak memory and 77.4 MB KV memory for this row. 512 is the tested context setting, not a configured maximum; runtime version, GPU core count, KV-cache precision and maximum context are not stated. This is a short-context standalone result, not an end-to-end server throughput measurement.

Oct 8, 2026
Tone: positiveApple hardware
generation:
55-60 tokens/s
prompt processing (prefill):
667.0 tokens/s
quant:
Q4 (GGUF)

Reported by the source; GPU count, offloading and concurrent requests can change these figures. Prompt-processing speed is input throughput, not time to first token. Check the full setup before comparing.

coding

User reports Qwen3.8 Flash Next Q4 running through ds4 on an M3 Ultra 96GB with the full 262K context configured, delivering 55–60 tok/s decode and 667 tok/s prefill. About 80GB is used for model, KV cache and buffers, while the model's 95GB n-gram table streams from SSD. The user runs it daily through a codex harness as a headless box.

Oct 3, 2026
Apple hardware
quant:
UD-IQ4_XS

User compares Mac Studio configs (M5 Ultra 96GB, M5 Max 128GB, M5 Max 64GB) for local LLM use. They discuss Qwen3.8-27B at Q8 and Qwen3.8-Flash-Next (6B active) at various quants, including Flash-Next on 96GB Ultra with UD-IQ4_XS (93.7GB, 91.1% retention) and on 128GB Max with UD-Q4_K_XL (111GB, 93.5% retention), with the N-gram layer offloaded to SSD. User asks for advice on bandwidth versus quant tier, and whether to just get the 64GB box. No actual benchmark numbers are reported.

Sep 7, 2026

Get a weekly email of new M3 Ultra 96GB reports and newly released models that fit it.

Email me new reports

Reported configurations

Individual observations from this page, not expected speeds or a ranking. Select a model to open its report, with the source and offloading conditions. Reported context may be a limit rather than actual input length.

Model / hardwareQuant / engineReported contextGeneration
Qwen3.5 35B (3B active)
M3 Ultra 96GB
Q8_0
llama.cpp
Not reported73.4 tokens/s
gpt-oss 117B (5.1B active)
M3 Ultra 96GB
MXFP4
MLX
Not reported73.0 tokens/s
Qwen3-Next 80B (3B active)
M3 Ultra 96GB
4-bit
MLX
Not reported49.1 tokens/s
Qwen3.8 27B
M3 Ultra 96GB
Q4_K_M
llama.cpp
Not reported29.0 tokens/s
Qwen3.5 35B (3B active)
M3 Ultra 96GB
4-bit
MLX
Not reported109.7 tokens/s

Frequently asked

How fast is the M3 Ultra 96GB for local LLMs?

On the M3 Ultra 96GB, gpt-oss 117B · 5.1B active at 4-bit, the model most run on it, generates a median of 73.0 tokens per second from one plain run (community reports, as of 29 Oct 2026). Also reported: Qwen3.5 35B · 3B active at 4-bit (109.7 t/s, one plain run); Qwen3.5 35B · 3B active at 8-bit (73.4 t/s, one plain run).