RTX 5090 + EPYC 9355P with 768 GB DDR5 (MoE offload) vs RTX 3090 (used) + 128 GB DDR5 on AM5 (MoE offload)
The RTX 5090 + EPYC 9355P with 768 GB DDR5 (MoE offload) gives a model 32 GB to work in, against 24 GB on the RTX 3090 (used) + 128 GB DDR5 on AM5 (MoE offload). The RTX 5090 + EPYC 9355P with 768 GB DDR5 (MoE offload) has 1.9× the memory bandwidth (1,792 against 936 GB/s), which sets the ceiling on generation speed. The largest 4-bit model each holds at 8,192 tokens of context: Nemotron 3.5 Lightning 30B-A3B on the RTX 5090 + EPYC 9355P with 768 GB DDR5 (MoE offload), Qwen3.6 35B-A3B on the RTX 3090 (used) + 128 GB DDR5 on AM5 (MoE offload). Rows where the two differ are tinted.
Hybrid GPU + RAM
RTX 5090 + EPYC 9355P with 768 GB DDR5 (MoE offload)
The usual recipe for running 600B+ MoE models at home: expert weights in 12-channel DDR5, attention and KV cache on one fast GPU. Faster prompt processing than CPU-only for a fraction of an all-GPU build's VRAM bill.
gpt-oss-20b, 4-bit: 290 tok/s
Hybrid GPU + RAM
RTX 3090 (used) + 128 GB DDR5 on AM5 (MoE offload)
Budget MoE offload: a used 3090 holds attention and KV cache while 128 GB of desktop DDR5 holds the experts, enough for ~100B-class MoE models at 4-bit.
gpt-oss-20b, 4-bit: 162 tok/s
| Specification | RTX 5090 + EPYC 9355P with 768 GB DDR5 (MoE offload) | RTX 3090 (used) + 128 GB DDR5 on AM5 (MoE offload) |
|---|---|---|
| Kind | Hybrid GPU + RAM · DIY | Hybrid GPU + RAM · DIY |
| Chip or GPUs | RTX 5090 | RTX 3090 |
| Memory | 32 GB VRAM + 768 GB RAM | 24 GB VRAM + 128 GB RAM |
| Memory for models | 32 GB (VRAM) | 24 GB (VRAM) |
| Other memory figure | 792 GB (GPU + RAM offload)assumption | 144 GB (GPU + RAM offload)assumption |
| Memory bandwidth | 1,792 GB/s | 936 GB/s |
| FP16 compute | 209.5 TFLOPS | 71.2 TFLOPS |
| Price | ~$3,763 + unpriced parts (GPU, motherboard, ram and cooling prices not included) | ~$4,833 + unpriced parts (used GPU price not included) |
| Largest at 4-bit, 8k context | Nemotron 3.5 Lightning 30B-A3B | Qwen3.6 35B-A3B |
| Software | CUDA, Vulkan | CUDA, Vulkan |
| Power | 1500 W power supply | 1200 W power supply |
What each one runs
Every model in the catalog that at least one of the two holds at 4-bit with 8,192 tokens of context. Copper speeds are measured medians; outlined ones are estimates. Rows where only one fits, or where the speed differs by more than a quarter, are tinted.
| Model | RTX 5090 + EPYC 9355P with 768 GB DDR5 (MoE offload) | RTX 3090 (used) + 128 GB DDR5 on AM5 (MoE offload) |
|---|---|---|
| Kimi K2.61T, 32B active · 543.6 GB file | GPU + RAM offloadassumed limit~8.5–12 tok/sestimate, part in RAM | does not fit |
| DeepSeek V4.1 Flash552B, 16B active · 483.0 GB file | GPU + RAM offloadassumed limit~11–15 tok/sestimate, part in RAM | does not fit |
| GLM-5.3753.3B · 435.2 GB file | GPU + RAM offloadassumed limit– | does not fit |
| DeepSeek V3.2671B, 37B active · 377.6 GB file | GPU + RAM offloadassumed limit~7.2–11 tok/sestimate, part in RAM | does not fit |
| MiniMax M3428B, 23B active · 243.3 GB file | GPU + RAM offloadassumed limit~12–17 tok/sestimate, part in RAM | does not fit |
| Qwen3.5 397B-A17B397B, 17B active · 227.3 GB file | GPU + RAM offloadassumed limit~16–23 tok/sestimate, part in RAM | does not fit |
| GLM-5.3 Flash320B, 18B active · 186.0 GB file | GPU + RAM offloadassumed limit~15–22 tok/sestimate, part in RAM | does not fit |
| Hy3295B, 21B active · 169.6 GB file | GPU + RAM offloadassumed limit~13–19 tok/sestimate, part in RAM | does not fit |
| MiniMax M2.7228.7B · 129.3 GB file | GPU + RAM offloadassumed limit– | GPU + RAM offloadassumed limit– |
| Qwen3.8 Flash-Next125B, 6B active · 111.4 GB file | GPU + RAM offloadassumed limit~32–47 tok/sestimate, part in RAM | GPU + RAM offloadassumed limit~5.4–7.9 tok/sestimate, part in RAM |
| Nemotron 3 Super 120B-A12B120B, 12B active · 81.0 GB file | GPU + RAM offloadassumed limit~23–34 tok/sestimate, part in RAM | GPU + RAM offloadassumed limit~3.9–5.7 tok/sestimate, part in RAM |
| Qwen3.5 122B-A10B122B, 10B active · 71.3 GB file | GPU + RAM offloadassumed limit~34–49 tok/sestimate, part in RAM | GPU + RAM offloadassumed limit~5.6–8.2 tok/sestimate, part in RAM |
| Mistral Medium 3.5 128B128B · 69.8 GB file | GPU + RAM offloadassumed limit~5.4–8.6 tok/sestimate, part in RAM | GPU + RAM offloadassumed limit~0.9–1.4 tok/sestimate, part in RAM |
| GLM-4.5-Air106B, 12B active · 68.0 GB file | GPU + RAM offloadassumed limit~26–38 tok/sestimate, part in RAM | GPU + RAM offloadassumed limit~4.3–6.2 tok/sestimate, part in RAM |
| Mistral Small 4 119B (2603)119B, 6.5B active · 67.6 GB file | GPU + RAM offloadassumed limit~55–80 tok/sestimate, part in RAM | GPU + RAM offloadassumed limit~9.1–13 tok/sestimate, part in RAM |
| Llama 4 Scout 17B-16E Instruct109B, 17B active · 60.9 GB file | GPU + RAM offloadassumed limit~22–33 tok/sestimate, part in RAM | GPU + RAM offloadassumed limit~3.7–5.4 tok/sestimate, part in RAM |
| gpt-oss-120b117B, 5.1B active · 58.5 GB file | GPU + RAM offloadassumed limit~85–124 tok/sestimate, part in RAM | GPU + RAM offloadassumed limit~14–21 tok/sestimate, part in RAM |
| Qwen3 Coder Next80B, 3B active · 45.2 GB file | GPU + RAM offloadassumed limit~150–219 tok/sestimate, part in RAM | GPU + RAM offloadassumed limit~25–36 tok/sestimate, part in RAM |
| Llama 3.3 70B Instruct70B · 39.6 GB file | GPU + RAM offloadassumed limit~13–21 tok/sestimate, part in RAM | GPU + RAM offloadassumed limit~2.1–3.4 tok/sestimate, part in RAM |
| Nemotron 3.5 Lightning 30B-A3B30B, 3B active · 23.7 GB file | ~175–256 tok/sestimate | GPU + RAM offloadassumed limit~64–93 tok/sestimate, part in RAM |
| Qwen3.6 35B-A3B35B, 3B active · 20.8 GB file | 117 tok/smedian of 1 run | ~122–178 tok/sestimate |
| Ornith 1.5 35B-A3B35B, 3B active · 20.2 GB file | ~240–350 tok/sestimate | ~125–183 tok/sestimate |
| Qwen3 Coder 30B-A3B Instruct30.5B, 3.3B active · 17.3 GB file | ~222–324 tok/sestimate | ~116–169 tok/sestimate |
| Gemma 4 31B IT30.7B · 17.1 GB file | 61 tok/smedian of 1 run | 35 tok/smedian of 1 run |
| Granite 4.2 30B29.3B · 16.8 GB file | ~49–77 tok/sestimate | ~25–40 tok/sestimate |
| Qwen3.8 27B27B · 16.2 GB file | ~50–79 tok/sestimate | ~26–41 tok/sestimate |
| Gemma 4 26B-A4B IT25.2B, 3.8B active · 15.9 GB file | 122 tok/smedian of 2 runs | 119 tok/smedian of 1 run |
| Qwen3.6 27B27B · 15.7 GB file | ~52–82 tok/sestimate | ~27–43 tok/sestimate |
| Devstral Small 2 24B (2512)24B · 13.3 GB file | ~61–96 tok/sestimate | ~32–50 tok/sestimate |
| gpt-oss-20b21B, 3.6B active · 10.8 GB file | 290 tok/smedian of 4 runs | 162 tok/smedian of 3 runs |
| Phi-414.7B · 8.3 GB file | ~99–155 tok/sestimate | ~52–81 tok/sestimate |
| Ministral 3 14B Reasoning (2512)13.9B · 7.7 GB file | ~107–167 tok/sestimate | ~56–87 tok/sestimate |
| Gemma 4 12B IT11.95B · 6.6 GB file | ~123–194 tok/sestimate | ~64–101 tok/sestimate |
| Qwen3.5 9B9B · 5.3 GB file | ~155–243 tok/sestimate | ~81–127 tok/sestimate |
| Granite 4.2 8B8.8B · 5.2 GB file | ~159–249 tok/sestimate | ~83–130 tok/sestimate |
| Gemma 4 E4B IT8B · 5.0 GB file | ~289–454 tok/sestimate | ~151–237 tok/sestimate |
| Qwen3 8B8.2B · 4.7 GB file | 200 tok/smedian of 1 run | 115 tok/smedian of 1 run |
| Llama 3.1 8B Instruct8B · 4.6 GB file | 200 tok/smedian of 3 runs | 122 tok/smedian of 2 runs |
| Qwen3.5 4B4B · 2.6 GB file | ~321–503 tok/sestimate | ~167–263 tok/sestimate |
Full pages: RTX 5090 + EPYC 9355P with 768 GB DDR5 (MoE offload) · RTX 3090 (used) + 128 GB DDR5 on AM5 (MoE offload) · check a different quant or context length