Framework Desktop (Ryzen AI Max+ 395) vs 2x RTX 3090 (used)
The Framework Desktop (Ryzen AI Max+ 395) gives a model 96 GB to work in, against 46.5 GB on the 2x RTX 3090 (used). The 2x RTX 3090 (used) has 3.7× the memory bandwidth (936 against 256 GB/s, per card for multi-GPU builds), which sets the ceiling on generation speed. The largest 4-bit model each holds at 8,192 tokens of context: Nemotron 3 Super 120B-A12B on the Framework Desktop (Ryzen AI Max+ 395), Llama 3.3 70B Instruct on the 2x RTX 3090 (used). The 2x RTX 3090 (used) has no complete price: GPU and risers prices not included. Rows where the two differ are tinted.
AMD unified memory
Framework Desktop (Ryzen AI Max+ 395)
A 4.5-liter desktop built around the full Strix Halo chip, sold as a DIY Edition you finish with your own SSD and OS. The 128GB version lets the GPU use 96GB, enough for a 70B dense model or a 100B-class MoE model at 4-bit.
gpt-oss-20b, 4-bit: 73 tok/s
Multi-GPU
2x RTX 3090 (used)
Two used 3090s give 48 GB for 70B-class models at 4-bit. The 3090 is the newest GeForce card with an NVLink connector, which only matters for tensor-parallel serving.
gpt-oss-20b, 4-bit: ~117–171 tok/sestimate
| Specification | Framework Desktop (Ryzen AI Max+ 395) | 2x RTX 3090 (used) |
|---|---|---|
| Kind | AMD unified memory · Framework | Multi-GPU · DIY |
| Chip or GPUs | Ryzen AI Max+ 395 | 2× RTX 3090 |
| Memory | 64 GB, 128 GB | 48 GB VRAM + 64 GB RAM |
| Memory for models | 96 GB (GPU-usable memory) | 46.5 GB (VRAM across all cards) |
| Memory bandwidth | 256 GB/s | 936 GB/s per card |
| FP16 compute | not published | 71.2 TFLOPS per card |
| Price | ~$1,959–$3,449 | ~$3,639 + unpriced parts (GPU and risers prices not included) |
| Largest at 4-bit, 8k context | Nemotron 3 Super 120B-A12B | Llama 3.3 70B Instruct |
| Software | ROCm, Vulkan, DirectML | CUDA, Vulkan |
| Power | 400 W | 1500 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 | Framework Desktop (Ryzen AI Max+ 395) | 2x RTX 3090 (used) |
|---|---|---|
| Nemotron 3 Super 120B-A12B120B, 12B active · 81.0 GB file | 15 tok/smedian of 2 runs | does not fit |
| Qwen3.5 122B-A10B122B, 10B active · 71.3 GB file | 20 tok/smedian of 2 runs | does not fit |
| Mistral Medium 3.5 128B128B · 69.8 GB file | ~2.3–2.8 tok/sestimate | does not fit |
| GLM-4.5-Air106B, 12B active · 68.0 GB file | ~15–19 tok/sestimate | does not fit |
| Mistral Small 4 119B (2603)119B, 6.5B active · 67.6 GB file | ~30–39 tok/sestimate | does not fit |
| Llama 4 Scout 17B-16E Instruct109B, 17B active · 60.9 GB file | 18 tok/smedian of 2 runs | does not fit |
| gpt-oss-120b117B, 5.1B active · 58.5 GB file | 52 tok/smedian of 5 runs | does not fit |
| Qwen3 Coder Next80B, 3B active · 45.2 GB file | ~66–85 tok/sestimate | does not fit |
| Llama 3.3 70B Instruct70B · 39.6 GB file | 4.8 tok/smedian of 4 runs | 20 tok/smedian of 1 run |
| Nemotron 3.5 Lightning 30B-A3B30B, 3B active · 23.7 GB file | ~47–60 tok/sestimate | ~91–133 tok/sestimate |
| Qwen3.6 35B-A3B35B, 3B active · 20.8 GB file | 60 tok/smedian of 7 runs | ~122–178 tok/sestimate |
| Ornith 1.5 35B-A3B35B, 3B active · 20.2 GB file | ~65–83 tok/sestimate | ~125–183 tok/sestimate |
| Qwen3 Coder 30B-A3B Instruct30.5B, 3.3B active · 17.3 GB file | ~60–77 tok/sestimate | ~116–169 tok/sestimate |
| Gemma 4 31B IT30.7B · 17.1 GB file | 11 tok/smedian of 2 runs | ~25–39 tok/sestimate |
| Granite 4.2 30B29.3B · 16.8 GB file | ~9.6–12 tok/sestimate | ~25–40 tok/sestimate |
| Qwen3.8 27B27B · 16.2 GB file | 12 tok/smedian of 2 runs | ~26–41 tok/sestimate |
| Gemma 4 26B-A4B IT25.2B, 3.8B active · 15.9 GB file | 52 tok/smedian of 2 runs | ~91–132 tok/sestimate |
| Qwen3.6 27B27B · 15.7 GB file | ~10–12 tok/sestimate | ~27–43 tok/sestimate |
| Devstral Small 2 24B (2512)24B · 13.3 GB file | ~12–15 tok/sestimate | ~32–50 tok/sestimate |
| gpt-oss-20b21B, 3.6B active · 10.8 GB file | 73 tok/smedian of 3 runs | ~117–171 tok/sestimate |
| Phi-414.7B · 8.3 GB file | ~20–23 tok/sestimate | ~52–81 tok/sestimate |
| Ministral 3 14B Reasoning (2512)13.9B · 7.7 GB file | ~21–25 tok/sestimate | ~56–87 tok/sestimate |
| Gemma 4 12B IT11.95B · 6.6 GB file | ~24–29 tok/sestimate | ~64–101 tok/sestimate |
| Qwen3.5 9B9B · 5.3 GB file | ~31–37 tok/sestimate | ~81–127 tok/sestimate |
| Granite 4.2 8B8.8B · 5.2 GB file | ~31–38 tok/sestimate | ~83–130 tok/sestimate |
| Gemma 4 E4B IT8B · 5.0 GB file | ~57–68 tok/sestimate | ~151–237 tok/sestimate |
| Qwen3 8B8.2B · 4.7 GB file | ~35–41 tok/sestimate | ~91–143 tok/sestimate |
| Llama 3.1 8B Instruct8B · 4.6 GB file | 40 tok/smedian of 2 runs | ~93–146 tok/sestimate |
| Qwen3.5 4B4B · 2.6 GB file | ~63–76 tok/sestimate | ~167–263 tok/sestimate |
Full pages: Framework Desktop (Ryzen AI Max+ 395) · 2x RTX 3090 (used) · check a different quant or context length