Unified memory · Apple
What AI models can an Apple M2 Max 96GB run?
96 GB is server territory. The constraint stops being memory and becomes bandwidth: everything fits, and what varies is how long you wait for it. Memory is shared with the CPU, so the practical ceiling is lower than the sticker number: macOS hands roughly three quarters of it to the GPU by default.
The short answer
Assuming an 8k context window and default settings, these are the models worth downloading first.
See how fast it feels
Apple M2 Max 96GB running GPT OSS 120B at MXFP4
YouWhy does my model use more memory when the conversation gets longer?
Reading your question
Simulated from our estimate at a 512-token question, not a recording. Assumes nothing else is competing for the GPU.
Where it sits
The GPU can use about 72 GB of this machine's 96 GB by default, so for planning it behaves like a 48 GB card with different bandwidth. The 48 GB guide explains what that tier runs and where it runs out, and the bandwidth guide explains why 400 GB/s decides how fast it answers.
Our indicative price for this machine is $3,699 new, reviewed 2026-09-01. That is 2.6 GB of memory and 11 GB/s of bandwidth for every $100. Prices move, so treat these as a place to start a search and not a quote.
Devices in a similar price band, fastest memory first:
| Device | Price | Memory | Bandwidth | Best all-round pick |
|---|---|---|---|---|
| Apple M3 Ultra 96GB | $3,999 | 96 GB | 819 GB/s | GPT OSS 120B, 102.5 t/s |
| Apple M1 Ultra 128GB | $3,400 | 128 GB | 800 GB/s | GPT OSS 120B, 100.1 t/s |
| Apple M2 Ultra 64GB | $3,499 | 64 GB | 800 GB/s | Qwen3.5 27B, 20.2 t/s |
| Apple M4 Max 36GB | $3,199 | 36 GB | 546 GB/s | Gemma 4 12B Instruct, 28.2 t/s |
Every model, scored on this device
Each row uses the highest-quality quantization that both fits and stays conversational. Speed is a single-stream estimate at 8k context.
| Model | Params | Verdict | Download | Memory used | Speed | Max context |
|---|---|---|---|---|---|---|
| GPT OSS 120B GPT-OSS | 116.83B (5.7B active) | Runs great | MXFP4 | 59.65 GB | 50 t/s | 128k |
| Qwen3.5 35B A3B Qwen | 35.95B (2.9B active) | Runs great | Q8_0 | 36.1 GB | 51.8 t/s | 256k |
| Gemma 4 26B A4B Instruct Gemma | 25.81B (3.74B active) | Runs great | Q8_0 | 26.69 GB | 34.9 t/s | 256k |
| GLM 4.7 Flash GLM | 31.22B (3.66B active) | Runs great | Q8_0 | 31.61 GB | 39.5 t/s | 128k |
| Gemma 4 31B Instruct Gemma | 31.27B | Runs well | Q6_K | 27.58 GB | 10 t/s | 128k |
| Qwen3 30B A3B Qwen | 30.53B (3.34B active) | Runs great | Q8_0 | 31.27 GB | 39.2 t/s | 32k |
| Phi 3.5 MoE Instruct Phi | 41.87B (6.64B active) | Runs well | Q8_0 | 42.81 GB | 20.9 t/s | 128k |
| Gemma 4 12B Instruct Gemma | 11.96B | Runs well | Q8_0 | 13.52 GB | 20.7 t/s | 256k |
| Qwen3 32B Qwen | 32.76B | Runs well | Q6_K | 27.43 GB | 10.3 t/s | 32k |
| GPT OSS 20B GPT-OSS | 20.91B (4.18B active) | Runs great | MXFP4 | 11.81 GB | 66 t/s | 128k |
| Qwen3.5 27B Qwen | 27.78B | Runs well | Q8_0 | 28.54 GB | 10.1 t/s | 256k |
| Qwen3 Coder 30B A3B Instruct Qwen | 30.53B (3.34B active) | Runs great | Q8_0 | 31.27 GB | 39.2 t/s | 32k |
| Qwen3 14B Qwen | 14.77B | Runs well | Q8_0 | 16.28 GB | 18 t/s | 32k |
| Granite 4.1 30B Granite | 28.87B | Runs well | Q6_K | 24.42 GB | 11.3 t/s | 128k |
| Qwen3.5 9B Qwen | 9.65B | Runs great | Q8_0 | 10.22 GB | 30.8 t/s | 256k |
| Qwen2.5 14B Instruct Qwen | 14.77B | Runs well | Q8_0 | 16.53 GB | 17.7 t/s | 32k |
| Qwen2.5 32B Instruct Qwen | 32.76B | Runs well | Q6_K | 27.43 GB | 10.3 t/s | 32k |
| Gemma 3 27B Instruct Gemma | 27.43B | Runs well | Q6_K | 22.45 GB | 12.3 t/s | 128k |
| Qwen2.5 Coder 14B Instruct Qwen | 14.77B | Runs well | Q8_0 | 16.53 GB | 17.7 t/s | 32k |
| Qwen2.5 Coder 32B Instruct Qwen | 32.76B | Runs well | Q6_K | 27.43 GB | 10.3 t/s | 32k |
| Gemma 3 12B Instruct Gemma | 12.19B | Runs well | Q8_0 | 13.24 GB | 21.1 t/s | 128k |
| Phi 4 Phi | 14.66B | Runs well | Q8_0 | 16.48 GB | 17.5 t/s | 16k |
| Gemma 4 E4B Instruct Gemma | 8B | Runs great | Q8_0 | 8.39 GB | 33.7 t/s | 128k |
| Mixtral 8x7B Instruct V0.1 Mistral | 46.7B (12.88B active) | Runs well | Q8_0 | 47.59 GB | 11.5 t/s | 32k |
| Granite 4.1 8B Granite | 8.79B | Runs great | Q8_0 | 10.32 GB | 27.3 t/s | 128k |
| Qwen3 8B Qwen | 8.19B | Runs great | Q8_0 | 9.61 GB | 31.6 t/s | 32k |
| Mistral Nemo Instruct 2407 Mistral | 12.25B | Runs well | Q8_0 | 13.78 GB | 21.4 t/s | 128k |
| Qwen2.5 VL 7B Instruct Qwen | 8.29B | Runs great | Q8_0 | 9 GB | 33.6 t/s | 64k |
| Mistral Small 24B Instruct 2501 Mistral | 23.57B | Runs well | Q8_0 | 24.98 GB | 11.4 t/s | 32k |
| Qwen2.5 7B Instruct Qwen | 7.62B | Runs great | Q8_0 | 8.34 GB | 36.6 t/s | 32k |
Show the other 56 models
| Llama 3.1 8B Instruct | 8.03B | Runs great | Q8_0 | 9.32 GB | 32.3 t/s | 128k |
| DeepSeek Coder V2 Lite Instruct | 15.71B | Runs great | Q8_0 | 16.09 GB | 54.2 t/s | 128k |
| Codestral 22B V0.1 | 22.25B | Runs well | Q8_0 | 24.21 GB | 11.5 t/s | 32k |
| Gemma 2 9B Instruct | 9.24B | Runs well | Q8_0 | 11.47 GB | 24.5 t/s | 8k |
| Qwen2.5 Coder 7B Instruct | 7.62B | Runs great | Q8_0 | 8.34 GB | 36.6 t/s | 32k |
| OLMo 3 7B Instruct | 7.3B | Runs great | Q8_0 | 10.1 GB | 29.2 t/s | 64k |
| Internlm3 8B Instruct | 8.8B | Runs great | Q8_0 | 9.46 GB | 31.8 t/s | 32k |
| Mistral 7B Instruct V0.3 | 7.25B | Runs great | Q8_0 | 8.55 GB | 33.8 t/s | 32k |
| Gemma 4 E2B Instruct | 5.12B | Runs great | Q8_0 | 5.41 GB | 53.1 t/s | 128k |
| Qwen3.5 4B | 4.66B | Runs great | Q8_0 | 5.24 GB | 55.4 t/s | 256k |
| Mistral 7B Instruct V0.2 | 7.24B | Runs great | Q8_0 | 8.54 GB | 33.8 t/s | 32k |
| Llama 3 3 Nemotron Super 49B V1 | 49.87B | Fits, but slow | Q8_0 | 69.86 GB | 4 t/s | 8k |
| DeepSeek Coder 7B Instruct V1.5 | 6.91B | Runs great | Q8_0 | 10.96 GB | 26.7 t/s | 4k |
| DeepSeek Coder 6.7B Instruct | 6.74B | Runs great | Q8_0 | 11.04 GB | 25.8 t/s | 16k |
| LFM2.5 8B A1B | 8.47B | Runs great | Q8_0 | 8.78 GB | 95.7 t/s | 64k |
| Qwen3 4B | 4.02B | Runs great | Q8_0 | 5.43 GB | 53.3 t/s | 32k |
| Gemma 3 4B Instruct | 4.3B | Runs great | Q8_0 | 4.88 GB | 59.7 t/s | 128k |
| Phi 4 Mini Instruct | 3.84B | Runs great | Q8_0 | 5.14 GB | 56.7 t/s | 128k |
| Granite 4.1 3B | 3.4B | Runs great | Q8_0 | 4.31 GB | 68.2 t/s | 128k |
| Qwen2.5 3B Instruct | 3.09B | Runs great | Q8_0 | 3.65 GB | 81.4 t/s | 32k |
| Phi 3 Mini 4k Instruct | 3.82B | Runs great | Q8_0 | 4.87 GB | 61.4 t/s | 4k |
| Llama 3.2 3B Instruct | 3.21B | Runs great | Q8_0 | 4.39 GB | 67.1 t/s | 128k |
| LFM2.5 2.6B | 2.7B | Runs great | Q8_0 | 3.11 GB | 97.2 t/s | 128k |
| Qwen3.5 2B | 2.27B | Runs great | Q8_0 | 2.67 GB | 115.3 t/s | 256k |
| Gemma 2 2B Instruct | 2.61B | Runs great | Q8_0 | 3.51 GB | 85.2 t/s | 8k |
| Starcoder2 3B | 3.03B | Runs great | Q8_0 | 3.46 GB | 91.7 t/s | 16k |
| Qwen3 1.7B | 2.03B | Runs great | Q8_0 | 3.19 GB | 94.3 t/s | 32k |
| DeepSeek R1 Distill Qwen 1.5B | 1.78B | Runs great | Q8_0 | 2.27 GB | 155.5 t/s | 128k |
| Qwen2.5 1.5B Instruct | 1.54B | Runs great | Q8_0 | 2.03 GB | 156.1 t/s | 32k |
| SmolLM2 1.7B | 1.71B | Runs great | Q8_0 | 3.5 GB | 85.2 t/s | 8k |
| OLMo 2 0425 1B | 1.48B | Runs great | Q8_0 | 2.77 GB | 120.3 t/s | 4k |
| Llama 3.2 1B Instruct | 1.24B | Runs great | Q8_0 | 1.79 GB | 184.1 t/s | 128k |
| LFM2.5 1.2B Instruct | 1.17B | Runs great | Q8_0 | 1.56 GB | 243.1 t/s | 64k |
| Gemma 3 1B Instruct | 1B | Runs great | Q8_0 | 1.32 GB | 261.8 t/s | 32k |
| Qwen3.5 0.8B | 0.87B | Runs great | Q8_0 | 1.25 GB | 279.5 t/s | 256k |
| Qwen3 0.6B | 0.75B | Runs great | Q8_0 | 1.89 GB | 168.2 t/s | 32k |
| Qwen2.5 0.5B Instruct | 0.49B | Runs great | Q8_0 | 0.85 GB | 470 t/s | 32k |
| LFM2.5 350M | 0.35B | Runs great | Q8_0 | 0.71 GB | 727.8 t/s | 64k |
| Qwen3 Next 80B A3B Instruct | 81.32B | Just fits | n/a | 81.04 GB | 46.3 t/s | n/a |
| Qwen3 Coder Next | 79.67B | Just fits | n/a | 79.4 GB | 46.3 t/s | n/a |
| Qwen3.5 122B A10B | 125.09B | Just fits | n/a | 83.53 GB | 27.6 t/s | n/a |
| MiniMax M2.5 | 228.7B | Fits only at 2 to 3 bits | n/a | 83.75 GB | 27 t/s | n/a |
| MiniMax M2.7 | 228.69B | Fits only at 2 to 3 bits | n/a | 83.75 GB | 27 t/s | n/a |
| Qwen3 235B A22B | 235.09B | Fits only at 2 to 3 bits | n/a | 85.59 GB | 16.9 t/s | n/a |
| GLM 4.5 Air | 110.47B | Just fits | n/a | 86.18 GB | 13.6 t/s | n/a |
| Llama 3.3 70B Instruct | 70.55B | Just fits | n/a | 72.82 GB | 3.8 t/s | n/a |
| Qwen2.5 VL 72B Instruct | 73.41B | Just fits | n/a | 75.65 GB | 3.7 t/s | n/a |
| Qwen2.5 72B Instruct | 72.71B | Just fits | n/a | 74.96 GB | 3.7 t/s | n/a |
| Kimi K2.6 | 1026.88B | Will not run | n/a | 578.41 GB | n/a | n/a |
| Kimi K2 Instruct | 1026.41B | Will not run | n/a | 578.15 GB | n/a | n/a |
| GLM 5.1 | 753.86B | Will not run | n/a | 425.01 GB | n/a | n/a |
| GLM 5.2 | 753.33B | Will not run | n/a | 424.72 GB | n/a | n/a |
| DeepSeek V3.2 | 685.4B | Will not run | n/a | 386.4 GB | n/a | n/a |
| DeepSeek R1 | 684.53B | Will not run | n/a | 385.92 GB | n/a | n/a |
| MiniMax M3 | 427.04B | Will not run | n/a | 241.5 GB | n/a | n/a |
| GLM 4.5 | 358.34B | Will not run | n/a | 204.77 GB | n/a | n/a |
What it will not run
18 of the 86 architectures we track are out of reach here, even at 2-bit precision.
If you want more headroom
The next steps up in memory, in order. More memory changes which models load at all; more bandwidth changes how fast they answer, so the two are worth weighing separately.
| Device | Memory | Bandwidth | Models that fit | |
|---|---|---|---|---|
| NVIDIA DGX Spark 128GB | 128 GB | 273 GB/s | 75 | Check price |
| Ryzen AI Max+ 395 128GB | 128 GB | 256 GB/s | 75 | Check price |
Price links go to an Amazon search for the model name and are affiliate links: if you buy through one, we earn a commission at no cost to you. We do not take payment for placement, and the ordering above is by memory capacity alone.
Other devices with 96 GB
Same capacity, different speed. Once a model fits, bandwidth is what separates these.
Questions people ask about an Apple M2 Max 96GB
How much VRAM does an Apple M2 Max 96GB have?
The Apple M2 Max 96GB has 96 GB of unified memory shared with the CPU, of which roughly 72 GB is available to a model once the operating system takes its share.
Can an Apple M2 Max 96GB run a 70B model?
Yes, once the macOS GPU memory limit is raised. At Q8_0 it needs 79.4 GB and runs at around 46.3 tokens per second.
What is the best local model for an Apple M2 Max 96GB?
GPT OSS 120B at MXFP4 is the strongest all-round fit: 59.65 GB used, around 50 tokens per second at 8k context.