Apple unified memory · Apple
Apple Mac Studio (M5 Max, 32-core GPU)
The entry Mac Studio with the binned M5 Max. It is sold only with 36GB, so it suits small and mid-size models rather than the large ones Mac Studio buyers usually want.
Memory for models
Assumed two thirds of 36 GB for macOS's default GPU limit, which Apple does not publish.
Memory bandwidth
Maker price
Largest at 4-bit
22.4 GB at 8,192 tokens of context, default GPU limit (an assumed limit, see Memory for models)
gpt-oss-20b, 4-bit
Memory configurations
One page covers every memory option the maker sells. Prices are the maker’s list price for the cheapest configuration with that much memory.
| Memory | Price | Memory the GPU can use |
|---|---|---|
| 36 GB | ~$2,499 | 24 GB default gpu limitassumption 28 GB limit raised with sysctlassumption |
Assumed two thirds of 36 GB for macOS's default GPU limit, which Apple does not publish. Raised with iogpu.wired_limit_mb per the MLX docs, leaving an assumed 8 GB for macOS. How GPU memory limits work on unified-memory machines.
What it runs at 4-bit
Every model in the catalog at its 4-bit file with 8,192 tokens of context. 20 of 41 fit. Speeds are the median of measured runs on the same chip where any exist; otherwise an estimate from memory bandwidth. Try other quants and context lengths.
| Model | Needs | Fit | Generation speed |
|---|---|---|---|
| Kimi K32.8T, 104B active · UD-Q4_K_XL | 1406.8 GBcontext memory estimated | Does not fit | |
| DeepSeek V4 Pro1.6T, 49B active · Q4_K_M | 890.5 GBcontext memory not counted | Does not fit | |
| Kimi K2.61T, 32B active · UD-Q4_K_XL | 545.7 GBcontext memory estimated | Does not fit | |
| DeepSeek V4.1 Flash552B, 16B active · Q4 (DwarfStar) | 484.5 GB | Does not fit | |
| GLM-5.3753.3B · UD-Q4_K_XL | 437.4 GBcontext memory estimated | Does not fit | |
| DeepSeek V3.2671B, 37B active · Q4_K_M | 379.6 GBcontext memory estimated | Does not fit | |
| MiniMax M3428B, 23B active · Q4_K_M | 244.8 GBcontext memory not counted | Does not fit | |
| Qwen3.5 397B-A17B397B, 17B active · Q4_K_M | 229.1 GBcontext memory estimated | Does not fit | |
| GLM-5.3 Flash320B, 18B active · UD-Q4_K_XL | 187.6 GBcontext memory estimated | Does not fit | |
| Hy3295B, 21B active · Q4_K_M | 173.6 GB | Does not fit | |
| MiniMax M2.7228.7B · Q4_K_M | 132.7 GB | Does not fit | |
| Qwen3.8 Flash-Next125B, 6B active · Q4_K_M | 113.1 GBcontext memory estimated | Does not fit | |
| Nemotron 3 Super 120B-A12B120B, 12B active · Q4_K_M | 82.6 GBcontext memory estimated | Does not fit | |
| Qwen3.5 122B-A10B122B, 10B active · Q4_K_M | 73.0 GBcontext memory estimated | Does not fit | |
| Mistral Medium 3.5 128B128B · Q4_K_M | 74.0 GB | Does not fit | |
| GLM-4.5-Air106B, 12B active · Q4_K_M | 70.9 GB | Does not fit | |
| Mistral Small 4 119B (2603)119B, 6.5B active · Q4_K_M | 69.3 GBcontext memory estimated | Does not fit | |
| Llama 4 Scout 17B-16E Instruct109B, 17B active · Q4_K_M | 62.4 GBcontext memory not counted | Does not fit | |
| gpt-oss-120b117B, 5.1B active · MXFP4 (native) | 60.2 GBcontext memory estimated | Does not fit | |
| Qwen3 Coder Next80B, 3B active · Q4_K_M | 46.9 GBcontext memory estimated | Does not fit | |
| Llama 3.3 70B Instruct70B · Q4_K_M | 43.6 GB | Does not fit | |
| Nemotron 3.5 Lightning 30B-A3B30B, 3B active · Q4_K_M | 25.3 GBcontext memory estimated | Fits with raised limitassumed limit | ~60–107 tok/sestimate |
| Qwen3.6 35B-A3B35B, 3B active · Q4_K_M | 22.4 GBcontext memory estimated | Fitsassumed limit | ~80–143 tok/sestimate |
| Ornith 1.5 35B-A3B35B, 3B active · Q4_K_M | 21.9 GBcontext memory estimated | Fitsassumed limit | ~82–147 tok/sestimate |
| Qwen3 Coder 30B-A3B Instruct30.5B, 3.3B active · Q4_K_M | 19.5 GB | Fitsassumed limit | ~76–136 tok/sestimate |
| Gemma 4 31B IT30.7B · Q4_K_M | 18.9 GBcontext memory estimated | Fitsassumed limit | ~18–23 tok/sestimate |
| Granite 4.2 30B29.3B · Q4_K_M | 20.3 GB | Fitsassumed limit | ~19–23 tok/sestimate |
| Qwen3.8 27B27B · Q4_K_M | 18.2 GBcontext memory estimated | Fitsassumed limit | ~19–24 tok/sestimate |
| Gemma 4 26B-A4B IT25.2B, 3.8B active · Q4_K_M | 17.4 GBcontext memory estimated | Fitsassumed limit | ~60–106 tok/sestimate |
| Qwen3.6 27B27B · Q4_K_M | 17.7 GBcontext memory estimated | Fitsassumed limit | ~20–25 tok/sestimate |
| Devstral Small 2 24B (2512)24B · Q4_K_M | 16.1 GB | Fitsassumed limit | 28 tok/smedian of 1 run |
| gpt-oss-20b21B, 3.6B active · MXFP4 (native) | 12.5 GBcontext memory estimated | Fitsassumed limit | 105 tok/smedian of 3 runs |
| Phi-414.7B · Q4_K_M | 11.3 GB | Fitsassumed limit | ~38–47 tok/sestimate |
| Ministral 3 14B Reasoning (2512)13.9B · Q4_K_M | 10.4 GB | Fitsassumed limit | ~41–51 tok/sestimate |
| Gemma 4 12B IT11.95B · Q4_K_M | 8.2 GBcontext memory estimated | Fitsassumed limit | ~47–59 tok/sestimate |
| Qwen3.5 9B9B · Q4_K_M | 7.0 GBcontext memory estimated | Fitsassumed limit | ~59–74 tok/sestimate |
| Granite 4.2 8B8.8B · Q4_K_M | 7.9 GB | Fitsassumed limit | ~61–76 tok/sestimate |
| Gemma 4 E4B IT8B · Q4_K_M | 6.5 GBcontext memory not counted | Fitsassumed limit | ~111–138 tok/sestimate |
| Qwen3 8B8.2B · Q4_K_M | 7.3 GB | Fitsassumed limit | ~67–84 tok/sestimate |
| Llama 3.1 8B Instruct8B · Q4_K_M | 7.1 GB | Fitsassumed limit | 75 tok/smedian of 2 runs |
| Qwen3.5 4B4B · Q4_K_M | 4.3 GBcontext memory estimated | Fitsassumed limit | ~123–153 tok/sestimate |
Measured speeds
6 published runs with one user, plain decoding and at most 4,096 tokens already in context, on M5 Max (18-core CPU, 32-core GPU). Runs on 2 other machines with the same chip count here too, and say so.
| Model | Quant | Backend | Generation | Prompt | Context | Measured on | Source |
|---|---|---|---|---|---|---|---|
| Devstral Small 2 24B (2512) | 4-bit MLX (Devstral-Small-2-24B-Instruct-2512-4bit) | oMLX (version not stated) (MLX) | 28 tok/s | 874 tok/s1,024-token prompt | 1,024 | a machine with the same chip | oMLX benchmark submission2026-09 |
| gpt-oss-20b | 4-bit MLX (gpt-oss-20b-MXFP4-Q8) | oMLX 0.7.0.dev2 (MLX) | 107 tok/s | 3,407 tok/s1,024-token prompt | 1,024 | a machine with the same chip | oMLX benchmark submission2026-09 |
| gpt-oss-20b | 4bit (MLX) | oMLX (version not stated) | 105 tok/s | 4,287 tok/s4,096-token prompt | 4,096 | a machine with the same chip | oMLX benchmark submission2026-10 |
| gpt-oss-20b | 4bit (MLX) | oMLX (version not stated) | 105 tok/s | 4,204 tok/s4,096-token prompt | 4,096 | a machine with the same chip | oMLX benchmark submission2026-10 |
| Llama 3.1 8B Instruct | 4-bit MLX (Llama-3.1-8B-Instruct-4bit) | oMLX (version not stated) (MLX) | 87 tok/s | 2,860 tok/s1,024-token prompt | 1,024 | a machine with the same chip | oMLX benchmark submission2026-10 |
| Llama 3.1 8B Instruct | Q4_K_M | LocalScore (llamafile/llama.cpp, version not stated) | 62 tok/s | 637 tok/s | 0 | a machine with the same chip | LocalScore2026-10 |
Deep into a long context
Measured with more than 4,096 tokens already in context, where every new token also reads the context memory.
| Model | Quant | Backend | Generation | Prompt | Context | Measured on | Source |
|---|---|---|---|---|---|---|---|
| Devstral Small 2 24B (2512) | 4-bit MLX (Devstral-Small-2-24B-Instruct-2512-4bit) | oMLX (version not stated) (MLX) | 25 tok/s | 871 tok/s16,384-token prompt | 16,384 | a machine with the same chip | oMLX benchmark submission2026-09 |
| Devstral Small 2 24B (2512) | 4-bit MLX (Devstral-Small-2-24B-Instruct-2512) | oMLX 0.4.2.dev1 (MLX) | 19 tok/s | 537 tok/s32,768-token prompt | 32,768 | a machine with the same chip | oMLX benchmark submission2026-06 |
| gpt-oss-20b | 4-bit MLX (gpt-oss-20b-MXFP4-Q8) | oMLX 0.7.0 (MLX) | 90 tok/s | 4,019 tok/s16,384-token prompt | 16,384 | a machine with the same chip | oMLX benchmark submission2026-10 |
| gpt-oss-20b | 4-bit MLX (gpt-oss-20b-MXFP4-Q8) | oMLX 0.5.4 (MLX) | 74 tok/s | 2,640 tok/s32,768-token prompt | 32,768 | a machine with the same chip | oMLX benchmark submission2026-08 |
| Llama 3.1 8B Instruct | 4-bit MLX (Llama-3.1-8B-Instruct-4bit) | oMLX (version not stated) (MLX) | 63 tok/s | 2,304 tok/s16,384-token prompt | 16,384 | a machine with the same chip | oMLX benchmark submission2026-09 |
Specifications
- Chip
- M5 Max (18-core CPU, 32-core GPU)
- Memory
- unified LPDDR (Apple does not state the generation)
- Memory bandwidth
- 460 GB/s
- FP16 compute
- Apple does not publish TFLOPS for the M5 GPU or its Neural Accelerators
- Software
- Metal, MLX
- Ships with
- macOS
- Power
- 480 W (Maximum continuous power, Apple tech specs)
- Form factor
- Desktop
- Networking
- 10GbE; four Thunderbolt 5 (120Gb/s) on the back, Thunderbolt 5 clustering with RDMA per Apple
- Released
- 2026-09
- Maker page
- apple.com
Sources
- apple.com: chip, memory options, bandwidth, ports, 10GbE, 480W max continuous power
- apple.com: base prices per chip
- apple.com: available 2026-09-22
- apple.com: clustering over Thunderbolt 5 with RDMA; MLX
- apple.com: 36GB is the only memory option for the 32-core GPU chip
- github.com: how far the GPU memory limit can be raised on a Mac (sysctl iogpu.wired_limit_mb)
- github.com: the default GPU memory limit on a Mac and how to raise it