Best local LLMs for 32 GB of VRAM or unified memory
Measured speeds from builds where the model ran on more than 24 and up to 32 GB of GPU or unified memory. Each number links to its build and source.
8 GB · 12 GB · 16 GB · 24 GB · 32 GB · 48 GB · 64 GB · 96 GB · 128 GB or more
GPUs in this tier: RTX 5090 · Radeon AI Pro R9700 · Intel Arc Pro B70 · Tesla V100 32GB
Fastest measured result per model
| Model | Plain decode tok/s | With speculative decoding ⚡ | Results |
|---|---|---|---|
| Qwen3.6 35B-A3B | 258 (llama-bench tg128 (quant per result), RTX 5090) | – | 8 |
| Qwen3.8 27B | 75.2 (Q4_K_M (EPYC 9534 host), RTX 5090) | 230 (3-bit GSQ, 2x RTX 5070 Ti) | 8 |
| Qwen3.6 27B | 75.7 (llama-bench tg128 (quant per result), RTX 5090) | 66.0 (Q4_K_M + MTP draft head (draft-n-max 3), 64K context, Radeon AI Pro R9700) | 6 |
| Qwen3.8 Flash-Next | – | – | 6 |
| gpt-oss 20B | 324.2 (reported as Q4_K_M, RTX 5090) | – | 4 |
| Llama 3.2 3B | 271.4 (, RTX 5090) | – | 3 |
| Gemma 4 26B-A4B | 235 (llama-bench tg128 (quant per result), RTX 5090) | – | 2 |
| DeepSeek R1 Distill 14B | 53.72 (, Radeon AI Pro R9700) | – | 1 |
| Gemma 4 31B | 70.0 (llama-bench tg128 (quant per result), RTX 5090) | – | 1 |
| Gemma 4 12B | 142 (llama-bench tg128 (quant per result), RTX 5090) | – | 1 |
| Qwen3.5 9B | 208 (llama-bench tg128 (quant per result), RTX 5090) | – | 1 |
| Ornith 1.5 122B | – | – | 1 |
| GLM-5.3 Flash | – | – | 1 |
| DeepSeek V4.1 Flash | – | – | 1 |
| Ornith 1.5 35B-A3B | – | – | 1 |
Excludes results the source marks pending and results where part of the model sat in system RAM.
All results in this tier
(MTP, DFlash, DSpark and similar draft-and-verify methods give much higher tok/s on predictable text and are not comparable 1:1 with plain decode)
| Model | Build | Ran on | Quant | Engine | tok/s | Details |
|---|---|---|---|---|---|---|
| DeepSeek R1 Distill 14B | Intel Core Ultra 265K + Radeon AI Pro R9700 | Radeon AI Pro R9700 (32 GB) | llama.cpp | 53.72 | ||
| DeepSeek V4.1 Flash | Ryzen 9 9950X3D + RTX 5090 + 128 GB DDR5: four big MoEs with experts offloaded to RAM (Qwen3.8 Flash-Next 78.8 tok/s) | RTX 5090 (32 GB) | Maya-S (experts 2-3 bit), partly streamed from SSD | Project Maya 1.1.21 (maya-ds4) | 24.9 | partly in system RAM |
| GLM-5.3 Flash | Ryzen 9 9950X3D + RTX 5090 + 128 GB DDR5: four big MoEs with experts offloaded to RAM (Qwen3.8 Flash-Next 78.8 tok/s) | RTX 5090 (32 GB) | EXL3 3.05 bpw, MTP drafting, experts offloaded to RAM | Project Maya 1.1.21 | 30.1 | ⚡ spec-decode (MTP)partly in system RAM |
| Gemma 4 12B | RTX 5090: 2026 models (llamabench community) | RTX 5090 (32 GB) | llama-bench tg128 (quant per result) | llama.cpp | 142 | |
| Gemma 4 26B-A4B | RTX 5090: 2026 models (llamabench community) | RTX 5090 (32 GB) | llama-bench tg128 (quant per result) | llama.cpp | 235 | |
| Gemma 4 26B-A4B | Single Intel Arc Pro B70 32 GB (neural.download lab) | Intel Arc Pro B70 (32 GB) | UD-Q8_K_XL | llama.cpp SYCL (pinned build, oneAPI 2026.0) | 122.16 | 📏 Single-user, cache-cold decode median (lab package/repro README) |
| Gemma 4 31B | RTX 5090: 2026 models (llamabench community) | RTX 5090 (32 GB) | llama-bench tg128 (quant per result) | llama.cpp | 70.0 | |
| Llama 3.2 3B | Intel i9-13900K + RTX 5090 | RTX 5090 (32 GB) | llama.cpp | 271.4 | ||
| Llama 3.2 3B | Intel Core Ultra 265K + Radeon AI Pro R9700 | Radeon AI Pro R9700 (32 GB) | llama.cpp | 195.91 | ||
| Llama 3.2 3B | M4 Mac mini (10-core) 32GB | Apple M4 (32 GB) | llama.cpp | 41.31 | ||
| Ornith 1.5 122B | Ryzen 9 9950X3D + RTX 5090 + 128 GB DDR5: four big MoEs with experts offloaded to RAM (Qwen3.8 Flash-Next 78.8 tok/s) | RTX 5090 (32 GB) | EXL3 4 bpw, 180/256 experts per layer in RAM, no drafting | TabbyAPI + ExLlamaV3 1.6.2 | 46.4 | partly in system RAM |
| Ornith 1.5 35B-A3B | Single Intel Arc Pro B70 32 GB (neural.download lab) | Intel Arc Pro B70 (32 GB) | Q4_K_M | llama.cpp SYCL + neural.download fusion patches; author marks this headline 'pending' | 131.46 | ⏳ author marks pending📏 Single-user, cache-cold decode median (lab package/repro README) |
| Qwen3.5 9B | RTX 5090: 2026 models (llamabench community) | RTX 5090 (32 GB) | llama-bench tg128 (quant per result) | llama.cpp | 208 | |
| Qwen3.6 27B | RTX 5090: 2026 models (llamabench community) | RTX 5090 (32 GB) | llama-bench tg128 (quant per result) | llama.cpp | 75.7 | |
| Qwen3.6 27B | RTX 5090 (llm-speed signed runs, Oct 2026): gpt-oss 20B 324 tok/s, Qwen3.8 27B 75 tok/s | RTX 5090 (32 GB) | Q4_K_M | llama.cpp 0.7.0-dev | 75.1 | |
| Qwen3.6 27B | Radeon AI Pro R9700: Qwen3.6 27B on Vulkan, HIP and Ollama, with and without MTP | Radeon AI Pro R9700 (32 GB) | Q4_K_M + MTP draft head (draft-n-max 3), 64K context | llama.cpp Vulkan | 66.0 | ⚡ spec-decode (MTP) |
| Qwen3.6 27B | Radeon AI Pro R9700: Qwen3.6 27B on Vulkan, HIP and Ollama, with and without MTP | Radeon AI Pro R9700 (32 GB) | Q4_K_M, no MTP | llama.cpp Vulkan | 31.9 | |
| Qwen3.6 27B | Radeon AI Pro R9700: Qwen3.6 27B on Vulkan, HIP and Ollama, with and without MTP | Radeon AI Pro R9700 (32 GB) | Q4_K_M | llama.cpp HIP (ROCm) | 27.1 | |
| Qwen3.6 27B | Radeon AI Pro R9700: Qwen3.6 27B on Vulkan, HIP and Ollama, with and without MTP | Radeon AI Pro R9700 (32 GB) | Q4_K_M | Ollama (HIP) | 26.7 | |
| Qwen3.6 35B-A3B | RTX 5090: 2026 models (llamabench community) | RTX 5090 (32 GB) | llama-bench tg128 (quant per result) | llama.cpp | 258 | |
| Qwen3.6 35B-A3B | Single Intel Arc Pro B70 with vLLM XPU cookbook | Intel Arc Pro B70 (32 GB) | GPTQ Int4 | vLLM XPU b70 image, no MTP | 120 | context: short prompt📏 Greedy, one request at a time, 512-token answers (README "Numbers" table) |
| Qwen3.6 35B-A3B | Radeon AI Pro R9700 (one card): Qwen3.6 35B-A3B from 4K to 256K context (AMDai lab rig) | Radeon AI Pro R9700 (32 GB) | Q4_K_M | llama.cpp Vulkan | 117.69 | |
| Qwen3.6 35B-A3B | Radeon AI Pro R9700 (one card): Qwen3.6 35B-A3B from 4K to 256K context (AMDai lab rig) | Radeon AI Pro R9700 (32 GB) | Q5_K_M (24.68 GB VRAM) | llama.cpp Vulkan | 109.73 | |
| Qwen3.6 35B-A3B | Radeon AI Pro R9700 (one card): Qwen3.6 35B-A3B from 4K to 256K context (AMDai lab rig) | Radeon AI Pro R9700 (32 GB) | Unsloth UD-Q5_K_XL, short context, f16 KV | llama.cpp Vulkan | 102.39 | |
| Qwen3.6 35B-A3B | Radeon AI Pro R9700 (one card): Qwen3.6 35B-A3B from 4K to 256K context (AMDai lab rig) | Radeon AI Pro R9700 (32 GB) | UD-Q5_K_XL, 32K context | llama.cpp Vulkan | 90.52 | |
| Qwen3.6 35B-A3B | Radeon AI Pro R9700 (one card): Qwen3.6 35B-A3B from 4K to 256K context (AMDai lab rig) | Radeon AI Pro R9700 (32 GB) | UD-Q5_K_XL, 128K context | llama.cpp Vulkan | 66.43 | |
| Qwen3.6 35B-A3B | Radeon AI Pro R9700 (one card): Qwen3.6 35B-A3B from 4K to 256K context (AMDai lab rig) | Radeon AI Pro R9700 (32 GB) | UD-Q5_K_XL, 256K context | llama.cpp Vulkan | 44.4 | |
| Qwen3.8 27B | Dual RTX 5070 Ti on Ryzen 9 9900X (capy-flash maintainer rig) | 2x RTX 5070 Ti (32 GB) | 3-bit GSQ | capy-flash, 2 GPUs, MTP, decode at 8k prompt | 230 | ⚡ spec-decode (MTP)context: 8k prompt📏 Maintainer/user decode tok/s from the capy-flash README |
| Qwen3.8 27B | Single Intel Arc Pro B70 with vLLM XPU cookbook | Intel Arc Pro B70 (32 GB) | GPTQ Int4 (asym) | vLLM XPU b70 image + MTP, reasoning prompt | 96 | ⚡ spec-decode (MTP)context: short prompt📏 Greedy, one request at a time, 512-token answers (README "Numbers" table) |
| Qwen3.8 27B | RTX 5090 (llm-speed signed runs, Oct 2026): gpt-oss 20B 324 tok/s, Qwen3.8 27B 75 tok/s | RTX 5090 (32 GB) | Q4_K_M (EPYC 9534 host) | llama.cpp 0.7.0-dev (b11669) | 75.2 | |
| Qwen3.8 27B | Single Intel Arc Pro B70 with vLLM XPU cookbook | Intel Arc Pro B70 (32 GB) | GPTQ Int4 (asym) | vLLM XPU b70 image + MTP, prose prompt | 66 | ⚡ spec-decode (MTP)context: short prompt📏 Greedy, one request at a time, 512-token answers (README "Numbers" table) |
| Qwen3.8 27B | Radeon AI Pro R9700: Qwen3.8 27B on llama.cpp, Ollama and vLLM (Vadi Taslim) | Radeon AI Pro R9700 (32 GB) | Q4_K_M + MTP speculative decoding, reasoning on | llama.cpp Vulkan | 57 | ⚡ spec-decode (MTP) |
| Qwen3.8 27B | Radeon AI Pro R9700: Qwen3.8 27B on llama.cpp, Ollama and vLLM (Vadi Taslim) | Radeon AI Pro R9700 (32 GB) | Q4_K_M | Ollama | 30 | |
| Qwen3.8 27B | Single Intel Arc Pro B70 32 GB (neural.download lab) | Intel Arc Pro B70 (32 GB) | Q4_K_M | llama.cpp SYCL + neural.download TP1 stack, no speculation | 27.8 | 📏 Single-user, cache-cold decode median (lab package/repro README) |
| Qwen3.8 27B | Radeon AI Pro R9700: Qwen3.8 27B on llama.cpp, Ollama and vLLM (Vadi Taslim) | Radeon AI Pro R9700 (32 GB) | AWQ INT4, single request | vLLM (radiance) | 22 | |
| Qwen3.8 Flash-Next | Dual RTX 5070 Ti on Ryzen 9 9900X (capy-flash maintainer rig) | 2x RTX 5070 Ti (32 GB) | GSQ-RCO (64 GB edition) | capy-flash v0.7.0, 2 GPUs, agentic decode | 182 | 📏 Maintainer/user decode tok/s from the capy-flash READMEpartly in system RAM |
| Qwen3.8 Flash-Next | RTX 5090 workstation: Qwen3.8 Flash-Next IQ3_S at 159.2 tok/s on Strata (expert offload) | RTX 5090 (32 GB) | IQ3_S (~55 GB), experts offloaded to RAM, speculation helper | Strata | 159.2 | partly in system RAM |
| Qwen3.8 Flash-Next | Dual RTX 5070 Ti on Ryzen 9 9900X (capy-flash maintainer rig) | 2x RTX 5070 Ti (32 GB) | NVFP4 | capy-flash v0.6.0, 2 GPUs, agentic decode | 155 | 📏 Maintainer/user decode tok/s from the capy-flash READMEpartly in system RAM |
| Qwen3.8 Flash-Next | Dual RTX 5080 on EPYC 7F52 (capy-flash user report) | 2x RTX 5080 (32 GB) | NVFP4 | capy-flash v0.7.2, --expert-cpu-threads 15, agentic decode | 144.4 | 📏 User-reported (issue #11), listed in the capy-flash READMEpartly in system RAM |
| Qwen3.8 Flash-Next | Dual RTX 5080 on EPYC 7F52 (capy-flash user report) | 2x RTX 5080 (32 GB) | NVFP4 | capy-flash v0.7.2 (CUDA 13.4), agentic decode | 141.3 | 📏 User-reported (issue #11), listed in the capy-flash READMEpartly in system RAM |
| Qwen3.8 Flash-Next | Ryzen 9 9950X3D + RTX 5090 + 128 GB DDR5: four big MoEs with experts offloaded to RAM (Qwen3.8 Flash-Next 78.8 tok/s) | RTX 5090 (32 GB) | Unsloth UD-Q5_K_XL, MTP drafting, experts offloaded to RAM | Strata (296b59d) | 78.8 | ⚡ spec-decode (MTP)partly in system RAM |
| gpt-oss 20B | RTX 5090 (llm-speed signed runs, Oct 2026): gpt-oss 20B 324 tok/s, Qwen3.8 27B 75 tok/s | RTX 5090 (32 GB) | reported as Q4_K_M | llama.cpp 0.7.0-dev | 324.2 | |
| gpt-oss 20B | RTX 5090: 2026 models (llamabench community) | RTX 5090 (32 GB) | llama-bench tg128 (quant per result) | llama.cpp | 313 | |
| gpt-oss 20B | Single RTX 5090 32GB | RTX 5090 (32 GB) | MXFP4 | llama.cpp | 282.51 | |
| gpt-oss 20B | Intel Core Ultra 265K + Radeon AI Pro R9700 | Radeon AI Pro R9700 (32 GB) | llama.cpp | 163.26 |
What fits by memory math
Q4_K_M weights (4.8944 bits per weight, per the llama.cpp quantize table) that fit in 32 GB with ~5% headroom, before KV cache: Flint 40B-A2.5B ≈24 GB, Ornith 1.5 35B-A3B ≈22 GB, Qwen3.6 35B-A3B ≈22 GB, Gemma 4 31B ≈19 GB, Nemotron 3.5 Lightning 30B-A3B ≈18 GB, Qwen3.6 27B ≈17 GB, Qwen3.8 27B ≈17 GB, Gemma 4 26B-A4B ≈15 GB, Devstral Small 2 24B ≈15 GB, LFM2.5 24B-A2B ≈15 GB, gpt-oss 20B ≈13 GB, Gemma 4 12B ≈7 GB, Qwen3.5 9B ≈5 GB, Llama 3.1 8B ≈5 GB.
FAQ
Which local LLMs have been measured on 32 GB of VRAM?
gpt-oss 20B, DeepSeek R1 Distill 14B, Llama 3.2 3B, Qwen3.6 35B-A3B, Qwen3.6 27B, Gemma 4 31B, Gemma 4 26B-A4B, Gemma 4 12B, Qwen3.5 9B, Qwen3.8 27B, Qwen3.8 Flash-Next, Ornith 1.5 122B, GLM-5.3 Flash, DeepSeek V4.1 Flash, Ornith 1.5 35B-A3B (45 results).
What fits in 32 GB of VRAM?
By memory math at Q4_K_M (4.8944 bits per weight, llama.cpp), weights only, before KV cache and context: Flint 40B-A2.5B (≈24 GB), Ornith 1.5 35B-A3B (≈22 GB), Qwen3.6 35B-A3B (≈22 GB), Gemma 4 31B (≈19 GB), Nemotron 3.5 Lightning 30B-A3B (≈18 GB), Qwen3.6 27B (≈17 GB), Qwen3.8 27B (≈17 GB), Gemma 4 26B-A4B (≈15 GB). Leave a few GB for context.
Are speculative-decoding results comparable?
Not 1:1. MTP, DFlash and similar methods draft tokens that the main model verifies, which can double tok/s on predictable text. This page lists them in a separate column; tick the box to hide them in the full table.
Referral link: if you sign up with Google and add $10, Runpod gives you and RigBase bonus credit (terms). It never affects our data.