Your rig

M2 · 24 GB · 24 GB

24 GB unified · 100 GB/s · 18.0 GB addressable by the GPU
Edit hardware Export as JSON

Context length

KV cache at f16, 128K tokens

Quality floor
Q8_0 — near-lossless Q6_K Q5_K_M Q4_K_M — recommended Q3_K_M Q2_K — damaged
KV cache type
Runtime
Ollamallama.cppLM StudioMLX

4 of 5 runtimes drive this device.

Allow CPU offload Include partial-offload fits

Offloaded layers run at 60 GB/s host bandwidth — expect single-digit tokens per second.

Which one should I actually run?

Best models for your M2 · 24 GB

Updated 21 Aug 2026 5 new this week, 14 this month

What do you want to do? Each row is the best-ranked model on that use case's shortlist that fits at Q8_0 and 128K. The ordering is editorial; the sizes and speeds are computed. How the shortlists work.

RecommendationModelWhyQuant · totalTok/s est.
Best overall Qwen3.5 9B
Alibaba · Apache 2.0
The 8–12 GB default of 2026 — beats every older 8B, with vision. Q8_0 · 14.1 GB 5.9 Runs great
Best for coding Qwen3.5 9B
Alibaba · Apache 2.0
The best coding model for 8–12 GB cards. Q8_0 · 14.1 GB 5.9 Runs great
Best reasoning gpt-oss 20B
OpenAI · Apache 2.0
Low/medium/high reasoning effort in 13 GB. MXFP4 · 14.4 GB 14 Runs great
Best for writing Gemma 4 E4B
Google · Apache 2.0
Readable prose on a laptop. Q8_0 · 10.3 GB 7.1 Runs great
Best vision Qwen3.5 9B
Alibaba · Apache 2.0
Vision on an 8–12 GB card. Q8_0 · 14.1 GB 5.9 Runs great
Best for agents gpt-oss 20B
OpenAI · Apache 2.0
Harmony-format tool calling, native 4-bit. MXFP4 · 14.4 GB 14 Runs great
Best translation Qwen3.5 9B
Alibaba · Apache 2.0
Strong CJK and European translation in 8–12 GB. Q8_0 · 14.1 GB 5.9 Runs great
Fastest good model gpt-oss 20B
OpenAI · Apache 2.0
3.6B active, native 4-bit. MXFP4 · 14.4 GB 14 Runs great
Best long context Qwen3.5 9B
Alibaba · Apache 2.0
262K native in 8–12 GB. Q8_0 · 14.1 GB
at 128K context
5.9 Runs great

Everything that fits

Runs great

21 of 76 · fits with headroom for a longer prompt
ModelParamsQuantWeights +KV 128KTotal VRAM headroom Tok/sRuntime
gpt-oss 20B 20.9B MoE / 3.6B act MXFP4 10.8 GB 3.00 GB 14.4 GB
3.6 GB free
14 MLX Run
Qwen3.5 9B 9.65B Q8_0 9.5 GB 4.00 GB 14.1 GB
3.9 GB free
5.9 MLX Run
Ornith 1.5 9B New this week 9.41B Q8_0 9.3 GB 4.00 GB 13.9 GB
4.1 GB free
6.0 MLX Run
LFM2.5 8B-A1B 8.47B MoE / 1.5B act Q8_0 8.4 GB 1.46 GB 10.4 GB
7.6 GB free
18 MLX Run
Gemma 4 E4B 8.0B Q8_0 7.9 GB 1.78 GB 10.3 GB
7.7 GB free
7.1 MLX Run
Ling 3.0 Tiny 7.9B-A1.3B New 7.9B MoE / 1.3B act Q8_0 7.8 GB 0.84 GB 9.3 GB
8.7 GB free
20 MLX Run
DeepSeek-R1-Distill-Qwen 7B 7.62B Q8_0 7.5 GB 7.00 GB 15.1 GB
2.9 GB free
7.4 MLX Run
Qwen2.5-Coder 7B 7.62B Q8_0 7.5 GB 7.00 GB 15.1 GB
2.9 GB free
7.4 MLX Run
Mistral 7B Instruct v0.3 7.25B Q8_0 7.2 GB 4.00 GB 11.8 GB
6.2 GB free
7.8 MLX Run
Gemma 4 E2B 5.1B Q8_0 5.0 GB 0.89 GB 6.5 GB
11.5 GB free
11 MLX Run
Qwen3.5 4B 4.66B Q8_0 4.6 GB 4.00 GB 9.2 GB
8.8 GB free
12 MLX Run
Gemma 3 4B 4.3B Q8_0 4.3 GB 3.11 GB 8.0 GB
10.0 GB free
13 MLX Run
Qwen3 4B 4.02B Q8_0 4.0 GB 4.50 GB 9.1 GB
8.9 GB free
14 MLX Run
Granite 4.1 3B 3.4B Q8_0 3.4 GB 10.00 GB 14.0 GB
4.0 GB free
17 MLX Run
LFM2.5 2.6B New 2.7B Q8_0 2.7 GB 2.00 GB 5.3 GB
12.7 GB free
21 MLX Run
Qwen3.5 2B 2.27B Q8_0 2.2 GB 1.50 GB 4.3 GB
13.7 GB free
25 MLX Run
Qwen3 1.7B 1.72B Q8_0 1.7 GB 3.50 GB 5.8 GB
12.2 GB free
33 MLX Run
Llama 3.2 1B Instruct 1.24B Q8_0 1.2 GB 4.00 GB 5.8 GB
12.2 GB free
46 MLX Run
Gemma 3 1B 1.0B Q8_0 1.0 GB 0.14 GB 1.7 GB
16.3 GB free
56 MLX Run
Qwen3.5 0.8B 0.87B Q8_0 0.9 GB 1.50 GB 3.0 GB
15.0 GB free
65 MLX Run
Qwen3 0.6B 0.6B Q8_0 0.6 GB 3.50 GB 4.7 GB
13.3 GB free
94 MLX Run

Runs — tight

4 models · fits at 128K, drop context or quant to go longer
ModelParamsQuantWeights +KV 128KTotal VRAM headroom Tok/sRuntime
Fara 7B 8.29B Q8_0 8.2 GB 6.84 GB 15.6 GB
2.4 GB free
6.8 MLX Run
Olmo 3 7B Instruct 7.3B Q8_0 7.2 GB 9.50 GB 17.3 GB
0.7 GB free
7.7 MLX Run
Ministral 3 3B 3.85B Q8_0 3.8 GB 13.00 GB 17.4 GB
0.6 GB free
15 MLX Run
Llama 3.2 3B Instruct 3.21B Q8_0 3.2 GB 14.00 GB 17.8 GB
0.2 GB free
18 MLX Run

Won't fit in VRAM

51 models · some are possible with CPU offload
ModelParamsQuantWeights +KV 128KTotal Over budget Tok/sRuntime
Kimi K3 2.8T-A104B New 2780B MoE / 104B act Q8_0 2750.9 GB 3.38 GB 2754.9 GB +2736.9 GB ~0.3 MLX Why
Qwen3.8 2.4T-A95B New 2446B MoE / 95B act Q8_0 2420.4 GB 11.50 GB 2432.5 GB +2414.5 GB ~0.3 MLX Why
DeepSeek V4 Pro 1.6T-A49B New 1650B MoE / 49B act Q8_0 1632.7 GB 8.58 GB 1641.9 GB +1623.9 GB ~0.5 MLX Why
Kimi K2.6 1T-A32B 1027B MoE / 32B act Q8_0 1016.2 GB 8.58 GB 1025.4 GB +1007.4 GB ~0.8 MLX Why
GLM-5.2 744B-A40B 753B MoE / 40B act Q8_0 745.1 GB 10.97 GB 756.7 GB +738.7 GB ~0.7 MLX Why
DeepSeek-R1 671B 671B MoE / 37B act Q8_0 664.0 GB 8.58 GB 673.2 GB +655.2 GB ~0.7 MLX Why
Qwen3.5 397B-A17B 403B MoE / 17B act Q8_0 398.8 GB 3.75 GB 403.1 GB +385.1 GB ~1.6 MLX Why
Ornith 1.5 397B-A17B New this week 397B MoE / 17B act Q8_0 392.8 GB 3.75 GB 397.2 GB +379.2 GB ~1.6 MLX Why
DeepSeek V4 Flash 284B-A13B New 284B MoE / 13B act Q8_0 281.0 GB 6.05 GB 287.7 GB +269.7 GB ~2.0 MLX Why
Qwen3 235B-A22B 235B MoE / 22B act Q8_0 232.5 GB 23.50 GB 256.6 GB +238.6 GB ~1.2 MLX Why
Qwen3.5 122B-A10B 125B MoE / 10B act Q8_0 123.7 GB 3.00 GB 127.3 GB +109.3 GB ~2.6 MLX Why
Nemotron 3 Super 120B-A12B 124B MoE / 12B act Q8_0 122.7 GB 1.00 GB 124.3 GB +106.3 GB ~2.2 MLX Why
Ling 3.0 Flash 124B-A5B New 124B MoE / 5.1B act Q8_0 122.7 GB 0.98 GB 124.3 GB +106.3 GB ~5.2 MLX Why
Mistral Small 4 119B-A6B 119B MoE / 6.5B act Q8_0 117.8 GB 2.81 GB 121.2 GB +103.2 GB ~4.1 MLX Why
gpt-oss 120B 117B MoE / 5.1B act MXFP4 60.5 GB 4.50 GB 65.6 GB +47.6 GB ~9.9 MLX Why
Llama 4 Scout 109B-A17B 109B MoE / 17B act Q8_0 107.9 GB 7.13 GB 115.6 GB +97.6 GB ~1.6 MLX Why
Llama 3.3 70B Instruct 70.6B Q8_0 69.9 GB 40.00 GB 110.5 GB +92.5 GB ~0.8 MLX Why
DeepSeek-R1-Distill-Llama 70B 70.6B Q8_0 69.9 GB 40.00 GB 110.5 GB +92.5 GB ~0.8 MLX Why
Qwen3.6 35B-A3B 35.9B MoE / 3.3B act Q8_0 35.5 GB 2.50 GB 38.6 GB +20.6 GB ~8.0 MLX Why
Ornith 1.5 35B-A3B New this week 35.9B MoE / 3.3B act Q8_0 35.5 GB 2.50 GB 38.6 GB +20.6 GB ~8.0 MLX Why
LLM-jp 4 33B Thinking New this week 33.2B Q8_0 32.9 GB 16.00 GB 49.5 GB +31.5 GB ~1.7 MLX Why
Qwen3 32B 32.8B Q8_0 32.5 GB 32.00 GB 65.1 GB +47.1 GB ~1.7 MLX Why
DeepSeek-R1-Distill-Qwen 32B 32.8B Q8_0 32.5 GB 32.00 GB 65.1 GB +47.1 GB ~1.7 MLX Why
Qwen2.5-Coder 32B 32.8B Q8_0 32.5 GB 32.00 GB 65.1 GB +47.1 GB ~1.7 MLX Why
Olmo 3.1 32B Instruct 32.2B Q8_0 31.9 GB 4.75 GB 37.2 GB +19.2 GB ~1.8 MLX Why
Nemotron 3.5 Lightning 30B-A3B New 31.6B MoE / 3.2B act Q8_0 31.3 GB 0.75 GB 32.6 GB +14.6 GB ~8.2 MLX Why
Gemma 4 31B 31.3B Q8_0 31.0 GB 20.78 GB 52.4 GB +34.4 GB ~1.8 MLX Why
GLM-4.7-Flash 30B-A3B 31.2B MoE / 3B act Q8_0 30.9 GB 6.61 GB 38.1 GB +20.1 GB ~8.8 MLX Why
Qwen3 30B-A3B 30.5B MoE / 3.3B act Q8_0 30.2 GB 12.00 GB 42.8 GB +24.8 GB ~8.0 MLX Why
Qwen3 Coder 30B-A3B 30.5B MoE / 3.3B act Q8_0 30.2 GB 12.00 GB 42.8 GB +24.8 GB ~8.0 MLX Why
Muse Glimmer 30B New 29.8B Q8_0 29.5 GB 1.70 GB 31.8 GB +13.8 GB ~1.9 MLX Why
Granite 4.1 30B 28.9B Q8_0 28.6 GB 32.00 GB 61.2 GB +43.2 GB ~2.0 MLX Why
Qwen3.8 27B New this week 27.8B Q8_0 27.5 GB 8.00 GB 36.1 GB +18.1 GB ~2.0 MLX Why
Qwen3.6 27B 27.8B Q8_0 27.5 GB 8.00 GB 36.1 GB +18.1 GB ~2.0 MLX Why
Gemma 3 27B 27.4B Q8_0 27.1 GB 10.41 GB 38.1 GB +20.1 GB ~2.1 MLX Why
Gemma 4 26B-A4B 26.5B MoE / 3.8B act Q8_0 26.2 GB 5.20 GB 32.0 GB +14.0 GB ~6.9 MLX Why
Devstral Small 2 24B 24B Q8_0 23.7 GB 20.00 GB 44.3 GB +26.3 GB ~2.4 MLX Why
Mistral Small 3.2 24B 23.6B Q8_0 23.4 GB 20.00 GB 44.0 GB +26.0 GB ~2.4 MLX Why
Qwen3 14B 14.8B Q8_0 14.6 GB 20.00 GB 35.2 GB +17.2 GB ~3.8 MLX Why
DeepSeek-R1-Distill-Qwen 14B 14.8B Q8_0 14.6 GB 24.00 GB 39.2 GB +21.2 GB ~3.8 MLX Why
Qwen2.5-Coder 14B 14.8B Q8_0 14.6 GB 24.00 GB 39.2 GB +21.2 GB ~3.8 MLX Why
Phi-4 14B 14.7B Q8_0 14.5 GB 3.13 GB 18.3 GB +0.3 GB ~3.8 MLX Why
Ministral 3 14B 13.9B Q8_0 13.8 GB 20.00 GB 34.4 GB +16.4 GB ~4.1 MLX Why
Gemma 3 12B 12.2B Q8_0 12.1 GB 8.31 GB 21.0 GB +3.0 GB ~4.6 MLX Why
Mistral NeMo 12B 12.2B Q8_0 12.1 GB 20.00 GB 32.7 GB +14.7 GB ~4.6 MLX Why
Gemma 4 12B 12B Q8_0 11.9 GB 8.31 GB 20.8 GB +2.8 GB ~4.7 MLX Why
Ministral 3 8B 8.92B Q8_0 8.8 GB 17.00 GB 26.4 GB +8.4 GB ~6.3 MLX Why
Granite 4.1 8B 8.79B Q8_0 8.7 GB 20.00 GB 29.3 GB +11.3 GB ~6.4 MLX Why
Qwen3 8B 8.19B Q8_0 8.1 GB 18.00 GB 26.7 GB +8.7 GB ~6.9 MLX Why
Llama 3.1 8B Instruct 8.03B Q8_0 7.9 GB 16.00 GB 24.5 GB +6.5 GB ~7.0 MLX Why
Phi-4-mini 3.8B 3.84B Q8_0 3.8 GB 16.00 GB 20.4 GB +2.4 GB ~15 MLX Why

Totals = quantised weights + f16 KV cache at 128K tokens + 0.6 GB runtime overhead, against 18.0 GB usable unified memory. Tokens per second are estimated from 100 GB/s peak memory bandwidth at batch 1 — not measured. Read the method.