Skip to content
llm-speed

M3 Ultra LLM benchmark

On the M3 Ultra, measured single-user chat decode speeds are: ~7–9B models at 116.8 tok/s (mlx; Measured, middle of 8 results, source run), ~14–15B models at 70.5 tok/s (mlx; Measured, middle of 4 results, source run), ~22–32B models at 34.5 tok/s (mlx; Measured, middle of 4 results, source run) and ~70–72B models at 16.3 tok/s (mlx; Measured, middle of 2 results, source run). Short-chat workload, local runtimes, dense models only; quantization, backend and settings vary between submissions, so check each row in the tables below.

Specs vendor specs, not measured

Unified memory (max configuration)
512 GB
Memory bandwidth
819 GB/s
Launch date
2025-03-05

Sources: support.apple.com, apple.com. Vendor-published figures, accessed 2026-10-14.

512 GB is the historical maximum announced in 2025. Apple's model-specific support page checked September 7, 2026 lists 96 GB configurable to 256 GB. Check the actual machine: a family ceiling is not installed memory, current availability or a measured configuration. 2025 launch specification · Model-specific specification

Fastest single result in these submissions (any model size)

429.2 decode tok/s

Qwen3-0.6B-4bit via mlx. Workload: chat-short. Reported hardware: M3 Ultra (60-core GPU) + 96GB unified. see full run

Qwen3-30B-A3B-Instruct-2507-4bit

WorkloadModel sizeReported hardwareBackendQuantdecode tok/sprefill tok/sTTFTRun
chat-shortnot supplied
M3 Ultra (60-core GPU) + 96GB unified
mlx@0.31.3-112.5tok/s308.7tok/s356msr_o6wbmfegmde
chat-longnot supplied
M3 Ultra (60-core GPU) + 96GB unified
mlx@0.31.3-96.37tok/s1,885.2tok/s1,669msr_o6wbmfegmde
concurrent-decodenot supplied
M3 Ultra (60-core GPU) + 96GB unified
mlx@0.31.3-105.9tok/sno datano datar_o6wbmfegmde
agent-tracenot supplied
M3 Ultra (60-core GPU) + 96GB unified
mlx@0.31.3-101.3tok/s1,978.0tok/s1,057msr_o6wbmfegmde

DeepSeek-R1-0528-Qwen3-8B-MLX-4bit

WorkloadModel sizeReported hardwareBackendQuantdecode tok/sprefill tok/sTTFTRun
chat-shortnot supplied
M3 Ultra (60-core GPU) + 96GB unified
mlx@0.31.3-116.8tok/s424.5tok/s247msr_yy_6jfx70jq
chat-longnot supplied
M3 Ultra (60-core GPU) + 96GB unified
mlx@0.31.3-100.5tok/s1,104.0tok/s2,846msr_yy_6jfx70jq
concurrent-decodenot supplied
M3 Ultra (60-core GPU) + 96GB unified
mlx@0.31.3-110.6tok/sno datano datar_yy_6jfx70jq
agent-tracenot supplied
M3 Ultra (60-core GPU) + 96GB unified
mlx@0.31.3-107.2tok/s1,108.9tok/s1,884msr_yy_6jfx70jq

Qwen3-4B-Instruct-2507-4bit

WorkloadModel sizeReported hardwareBackendQuantdecode tok/sprefill tok/sTTFTRun
chat-shortnot supplied
M3 Ultra (60-core GPU) + 96GB unified
mlx@0.31.3-182.7tok/s636.6tok/s173msr_p2rpb_0iyjj
chat-longnot supplied
M3 Ultra (60-core GPU) + 96GB unified
mlx@0.31.3-147.0tok/s1,913.7tok/s1,644msr_p2rpb_0iyjj
concurrent-decodenot supplied
M3 Ultra (60-core GPU) + 96GB unified
mlx@0.31.3-168.4tok/sno datano datar_p2rpb_0iyjj
agent-tracenot supplied
M3 Ultra (60-core GPU) + 96GB unified
mlx@0.31.3-160.8tok/s1,913.6tok/s1,091msr_p2rpb_0iyjj

Qwen3-8B-4bit

WorkloadModel sizeReported hardwareBackendQuantdecode tok/sprefill tok/sTTFTRun
chat-shortnot supplied
M3 Ultra (60-core GPU) + 96GB unified
mlx@0.31.3-120.5tok/s446.1tok/s247msr_b1awwhkoo2v
chat-longnot supplied
M3 Ultra (60-core GPU) + 96GB unified
mlx@0.31.3-103.3tok/s1,108.8tok/s2,838msr_b1awwhkoo2v
concurrent-decodenot supplied
M3 Ultra (60-core GPU) + 96GB unified
mlx@0.31.3-114.3tok/sno datano datar_b1awwhkoo2v
agent-tracenot supplied
M3 Ultra (60-core GPU) + 96GB unified
mlx@0.31.3-109.4tok/s1,109.1tok/s1,885msr_b1awwhkoo2v

Qwen3-0.6B-4bit

WorkloadModel sizeReported hardwareBackendQuantdecode tok/sprefill tok/sTTFTRun
chat-shortnot supplied
M3 Ultra (60-core GPU) + 96GB unified
mlx@0.31.3-429.2tok/s1,185.2tok/s92.8msr_6rgao6ao735
chat-longnot supplied
M3 Ultra (60-core GPU) + 96GB unified
mlx@0.31.3-334.3tok/s6,893.3tok/s457msr_6rgao6ao735
concurrent-decodenot supplied
M3 Ultra (60-core GPU) + 96GB unified
mlx@0.31.3-368.7tok/sno datano datar_6rgao6ao735
agent-tracenot supplied
M3 Ultra (60-core GPU) + 96GB unified
mlx@0.31.3-368.5tok/s8,617.7tok/s233msr_6rgao6ao735

Qwen3-Next-80B-A3B-Instruct-MLX-4bit

WorkloadModel sizeReported hardwareBackendQuantdecode tok/sprefill tok/sTTFTRun
chat-short80B
M3 Ultra (60-core GPU) + 96GB unified
mlx@0.31.34bit80.34tok/s24.49tok/s4,493msr_1pl79r50ofy
chat-long80B
M3 Ultra (60-core GPU) + 96GB unified
mlx@0.31.34bit77.63tok/s1,608.6tok/s1,956msr_1pl79r50ofy
concurrent-decode80B
M3 Ultra (60-core GPU) + 96GB unified
mlx@0.31.34bit78.60tok/sno datano datar_1pl79r50ofy
agent-trace80B
M3 Ultra (60-core GPU) + 96GB unified
mlx@0.31.34bit78.41tok/s1,586.3tok/s1,318msr_1pl79r50ofy

qwen2.5-72b-Instruct-4bit

WorkloadModel sizeReported hardwareBackendQuantdecode tok/sprefill tok/sTTFTRun
chat-shortnot supplied
M3 Ultra (60-core GPU) + 96GB unified
mlx@0.31.3-16.31tok/s23.25tok/s5,635msr_5c80gthqlh6

llama-3.3-70b-Instruct-4bit

WorkloadModel sizeReported hardwareBackendQuantdecode tok/sprefill tok/sTTFTRun
chat-shortnot supplied
M3 Ultra (60-core GPU) + 96GB unified
mlx@0.31.3-16.78tok/s25.09tok/s5,420msr_sx3a4y9n-m4

stable-code-instruct-3b-4bit

WorkloadModel sizeReported hardwareBackendQuantdecode tok/sprefill tok/sTTFTRun
chat-shortnot supplied
M3 Ultra (60-core GPU) + 96GB unified
mlx@0.31.3-192.5tok/s560.7tok/s226msr_y2_5y8oo97d

Yi-Coder-9B-Chat-4bit

WorkloadModel sizeReported hardwareBackendQuantdecode tok/sprefill tok/sTTFTRun
chat-shortnot supplied
M3 Ultra (60-core GPU) + 96GB unified
mlx@0.31.3-103.5tok/s390.9tok/s307msr_3hvui9a1yuc

starcoder2-15b-4bit

WorkloadModel sizeReported hardwareBackendQuantdecode tok/sprefill tok/sTTFTRun
chat-shortnot supplied
M3 Ultra (60-core GPU) + 96GB unified
mlx@0.31.3-64.16tok/s220.5tok/s490msr_wsxml_39dh_

granite-8b-code-instruct-4bit

WorkloadModel sizeReported hardwareBackendQuantdecode tok/sprefill tok/sTTFTRun
chat-shortnot supplied
M3 Ultra (60-core GPU) + 96GB unified
mlx@0.31.3-112.3tok/s525.7tok/s221msr_bue3bee0gw7

Codestral-22B-v0.1-4bit

WorkloadModel sizeReported hardwareBackendQuantdecode tok/sprefill tok/sTTFTRun
chat-shortnot supplied
M3 Ultra (60-core GPU) + 96GB unified
mlx@0.31.3-47.49tok/s205.7tok/s559msr_79dvtag5fd_

DeepSeek-Coder-V2-Lite-Instruct-4bit

WorkloadModel sizeReported hardwareBackendQuantdecode tok/sprefill tok/sTTFTRun
chat-shortnot supplied
M3 Ultra (60-core GPU) + 96GB unified
mlx@0.31.3-168.3tok/s291.5tok/s449msr_l_v1-zq_qaz

Qwen2.5-Coder-32B-Instruct-4bit

WorkloadModel sizeReported hardwareBackendQuantdecode tok/sprefill tok/sTTFTRun
chat-shortnot supplied
M3 Ultra (60-core GPU) + 96GB unified
mlx@0.31.3-34.48tok/s144.1tok/s909msr_721b4bls_oq

Qwen2.5-Coder-14B-Instruct-4bit

WorkloadModel sizeReported hardwareBackendQuantdecode tok/sprefill tok/sTTFTRun
chat-shortnot supplied
M3 Ultra (60-core GPU) + 96GB unified
mlx@0.31.3-70.51tok/s306.1tok/s428msr_l36cijqxq4t

Qwen2.5-Coder-7B-Instruct-4bit

WorkloadModel sizeReported hardwareBackendQuantdecode tok/sprefill tok/sTTFTRun
chat-shortnot supplied
M3 Ultra (60-core GPU) + 96GB unified
mlx@0.31.3-138.6tok/s539.6tok/s243msr_uoehjq0nvc0

gpt-oss-20b-MXFP4-Q4

WorkloadModel sizeReported hardwareBackendQuantdecode tok/sprefill tok/sTTFTRun
chat-shortnot supplied
M3 Ultra (60-core GPU) + 96GB unified
mlx@0.31.3-152.7tok/s239.9tok/s692msr_3ijun8ltjnb

Qwen3-Coder-30B-A3B-Instruct-4bit

WorkloadModel sizeReported hardwareBackendQuantdecode tok/sprefill tok/sTTFTRun
chat-shortnot supplied
M3 Ultra (60-core GPU) + 96GB unified
mlx@0.31.3-112.2tok/s204.0tok/s539msr_fpsca03u2o_

Qwen3-32B-4bit

WorkloadModel sizeReported hardwareBackendQuantdecode tok/sprefill tok/sTTFTRun
chat-shortnot supplied
M3 Ultra (60-core GPU) + 96GB unified
mlx@0.31.3-34.41tok/s95.12tok/s1,156msr_anmmc80-aoq

Qwen2.5-32B-Instruct-4bit

WorkloadModel sizeReported hardwareBackendQuantdecode tok/sprefill tok/sTTFTRun
chat-short32B
M3 Ultra (60-core GPU) + 96GB unified
mlx@0.31.34bit34.60tok/s141.9tok/s923msr_njgxtgyym1e

gemma-2-9b-it-4bit

WorkloadModel sizeReported hardwareBackendQuantdecode tok/sprefill tok/sTTFTRun
chat-shortnot supplied
M3 Ultra (60-core GPU) + 96GB unified
mlx@0.31.3-89.45tok/s170.7tok/s691msr_iz137eqvuzy

Qwen2.5-14B-Instruct-4bit

WorkloadModel sizeReported hardwareBackendQuantdecode tok/sprefill tok/sTTFTRun
chat-short14B
M3 Ultra (60-core GPU) + 96GB unified
mlx@0.31.34bit70.85tok/s301.7tok/s434msr_v4bq1sviz4o

phi-4-4bit

WorkloadModel sizeReported hardwareBackendQuantdecode tok/sprefill tok/sTTFTRun
chat-shortnot supplied
M3 Ultra (60-core GPU) + 96GB unified
mlx@0.31.3-74.37tok/s255.0tok/s443msr_sqzp-0rdez-

Llama-3.1-8B-Instruct-4bit

WorkloadModel sizeReported hardwareBackendQuantdecode tok/sprefill tok/sTTFTRun
chat-shortnot supplied
M3 Ultra (60-core GPU) + 96GB unified
mlx@0.31.3-130.2tok/s400.3tok/s340msr_v2pbc0rq2l4

Qwen2.5-7B-Instruct-4bit

WorkloadModel sizeReported hardwareBackendQuantdecode tok/sprefill tok/sTTFTRun
chat-short7B
M3 Ultra (60-core GPU) + 96GB unified
mlx@0.31.34bit139.6tok/s190.0tok/s689msr_5r6rhiynenc

Community folklore on M3 Ultra

13 unverified claims extracted from Reddit/HN comments. Lower trust than signed runs above; every row links to the source.

  • communityconfidence 70%

    18.50tok/s — Qwen3-Coder on M3 Ultra via mlx

    our signed data: M3 Ultra · Qwen3-Coder

    “m3 ultra with lmstudio-community/Qwen3-Coder-480B-A35B-Instruct-MLX-6bit 256k context len 18.50 token/s 1000 tokens first token 12.44 s”

    source: Reddit · u/EnvironmentalMath660 · 2025-07-24

  • communityconfidence 70%

    65.00tok/s — Qwen3-Coder-Next on M3 Ultra via vllm-mlx 6-bit

    our signed data: M3 Ultra · Qwen3-Coder-Next

    “Benchmarks (Mac Studio M3 Ultra, 256GB): Qwen3-Coder-Next-6bit (80B MoE, 3B active): - Decode: 65 tok/s”

    source: HN · u/raullen · 2026-02-26

  • communityconfidence 60%

    18.43tok/s — DeepSeek R1 on M3 Ultra via mlx

    our signed data: M3 Ultra · DeepSeek R1

    “R1 671B Q4 - M3 Ultra 512GB with MLX🔥 Yes it works! First test, and I'm blown away! Prompt: "Create an amazing animation using p5js" * **18.43 tokens/sec** * Generates a p5js zero-shot, tested at video's end * Video in real-time, no acceleration! https://reddit.com/link/1j9vj…”

    source: Reddit · u/ifioravanti · 2025-03-12

  • communityconfidence 60%

    145.0tok/s — Llama 3.3 70b on M3 Ultra via lm-studio

    our signed data: M3 Ultra · Llama 3.3 70b

    “it so far. Prompt processing is not too bad for 70b models -- with about 7800 tokens of context, 8 bit MLX Llama 3.3 70b processes at about 145 t/s per second - and then in LM studio does not need to process for additional prompts, as it caches the context, assuming you're not ch…”

    source: Reddit · u/nomorebuttsplz · 2025-03-18

  • communityconfidence 60%

    51.47tok/s — GPT-OSS-120B on M3 Ultra via lm-studio

    our signed data: M3 Ultra · GPT-OSS-120B

    “-120B MLX I'm getting: Mac Studio M3 Ultra with 80 core GPU, 256GB RAM Application: LM Studio Reasoning effort set to High. I'm getting 51.47 tokens/second!”

    source: Reddit · u/EricTheRed123 · 2025-08-06

  • communityconfidence 60%

    20.00tok/s — Qwen3-Coder-Next on M3 Ultra via vllm

    our signed data: M3 Ultra · Qwen3-Coder-Next

    “|Quant|RAM|Decode|Prefill|TTFT (cache hit)| |:-|:-|:-|:-|:-| |**4bit (mxfp4)**|\~60GB|33-38 tok/s|\~1500 tok/s|0.3s| |**8bit**|\~122GB|16-20 tok/s|\~300-550 tok/s|1-2s| 4-bit is the sweet spot for this model — decode speed is identical (memory bandwidth limited on MoE), but pref…”

    source: Reddit · u/Striking-Swim6702 · 2026-02-26

  • communityconfidence 60%

    38.00tok/s — Qwen3-Coder-Next on M3 Ultra via vllm

    our signed data: M3 Ultra · Qwen3-Coder-Next

    “GB) # Qwen3.5-122B-A10B (MoE, 10B active params) |Quant|RAM|Decode|Prefill|TTFT (cache hit)| |:-|:-|:-|:-|:-| |**4bit (mxfp4)**|\~60GB|33-38 tok/s|\~1500 tok/s|0.3s| |**8bit**|\~122GB|16-20 tok/s|\~300-550 tok/s|1-2s| 4-bit is the sweet spot for this model — decode speed is id…”

    source: Reddit · u/Striking-Swim6702 · 2026-02-26

  • communityconfidence 60%

    65.00tok/s — Qwen3-Coder-Next on M3 Ultra via vllm

    our signed data: M3 Ultra · Qwen3-Coder-Next

    “Qwen3-Coder-Next at 65 tok/s on M3 Ultra — with working tool calling for OpenClaw I've been running local coding agents on my Mac Studio (M3 Ultra 256GB) for the past”

    source: Reddit · u/Striking-Swim6702 · 2026-02-26

  • communityconfidence 60%

    58.70tok/s — Qwen3-Coder-Next on M3 Ultra via lm-studio

    our signed data: M3 Ultra · Qwen3-Coder-Next

    “done<p>As of v0.2.0: Vision-Language Model support with the same tiered caching<p>Benchmarks on M3 Ultra 512GB with Qwen3-Coder-Next-8bit: 58.7 tok/s single request, 243 tok/s at 8x batch. Full results on the README.<p>It reuses LM Studio's model directory, so you don't need to r…”

    source: HN · u/jundot · 2026-03-04

  • communityconfidence 60%

    100.0tok/s — DeepSeek-R1 on M3 Ultra via ollama

    our signed data: M3 Ultra · DeepSeek-R1

    “Speed-wise, MLX's unified memory means zero CPU↔GPU copies. On an M3 Ultra: Qwen3.5-9B hits 108 tok/s (vs ~41 on Ollama), Qwen 3.6 35B does 100 tok/s with only 3B active params.<p>The full benchmark data is in the README. Happy to discuss the MLX performance characteristics or to…”

    source: HN · u/raullen · 2026-04-18

See all 13 claims for M3 Ultra →

Models measured on M3 Ultra

Common questions about M3 Ultra

Direct Q&A drawn from the runs above: fastest LLM, supported model classes, backend rankings, quantization guidance.

Read the M3 Ultra FAQ →

Request a run on M3 Ultra

No measured run yet for these pairs. Vote for the one you want; the most-requested runs go first. See all requests.

0 votes

We never sell or share your email. Privacy

Needs a community run · Submit your own