BFWR AI Tools
Custom Serverx86 ArchitectureLinux (Ubuntu Server)
568 NPU TOPS

Homelab AI Server (Dual RTX 3090 48GB VRAM)

Processor: AMD Threadripper / EPYC + 2x NVIDIA RTX 3090 (48GB Total VRAM)

Total RAM128 GB128 DDR4 ECC + 2x 24GB GDDR6X (936 GB/s per card; layers split across both)
Est. Generation Speed~124.2 t/sFP16 for 8B; Q4_K_M for 70B
Max Context Rec.128k tokensAt Q4 quantization
Power Envelope700-950WActive generation

What actually runs on the Homelab AI Server (Dual RTX 3090 48GB VRAM)

Scored against every model in our directory at Q4_K_M, using the ~48GB of VRAM on this machine and its 936 GB/s of memory bandwidth. Of 30 models, 26 run comfortably, 0 are a tight fit, 3 need CPU offload, and 1 will not load. The largest model that fits well here is Qwen 2.5 72B Instruct.

ModelParamsQ4 sizeFitEst. speed
Qwen 2.5 72B InstructAlibaba Cloud72.7B42.5 GBComfortable~14.3 t/s
DeepSeek R1 Distill Llama 70BDeepSeek AI70.6B42.5 GBComfortable~14.3 t/s
Llama 3.3 70B InstructMeta AI70.6B39.5 GBComfortable~15.4 t/s
Qwen3.6 35B-A3B (MoE)Alibaba Qwen36B (3B active)3B active21.6 GBComfortable~338 t/s
Cohere Command R 35BCohere35.0B21 GBComfortable~29 t/s
DeepSeek R1 Distill Qwen 32BDeepSeek AI32.5B19.8 GBComfortable~30.7 t/s
Qwen 2.5 Coder 32B InstructAlibaba Cloud32.5B19.8 GBComfortable~30.7 t/s
Gemma 4 31BGoogle DeepMind31.3B18.8 GBComfortable~32.4 t/s
Qwen3-Coder 30B-A3B InstructAlibaba Qwen30.5B (3.3B active)3.3B active18.3 GBComfortable~307.3 t/s
Qwen3.8 27BAlibaba Qwen27.8B16.7 GBComfortable~36.4 t/s
Google Gemma 2 27BGoogle DeepMind27.2B16.5 GBComfortable~36.9 t/s
Gemma 4 26B-A4B (MoE)Google DeepMind26.5B (3.8B active)3.8B active15.9 GBComfortable~266.8 t/s
Mistral Small 3 24BMistral AI24.0B14.5 GBComfortable~42 t/s
Mistral Codestral 22BMistral AI22.2B13.5 GBComfortable~45.1 t/s
OpenAI gpt-oss-20bOpenAI20.9B (3.6B active)3.6B active13.8 GBComfortable~255.9 t/s
DeepSeek R1 Distill Qwen 14BDeepSeek AI14.8B9 GBComfortable~67.6 t/s
Qwen 2.5 Coder 14B InstructAlibaba Cloud14.7B9 GBComfortable~67.6 t/s
Microsoft Phi-4 14BMicrosoft14.7B9.1 GBComfortable~66.9 t/s
Mistral NeMo 12B InstructMistral AI & NVIDIA12.2B7.5 GBComfortable~81.1 t/s
Gemma 4 12BGoogle DeepMind12B7.2 GBComfortable~84.5 t/s
Google Gemma 2 9BGoogle DeepMind9.24B5.8 GBComfortable~104.9 t/s
Qwen3 8BAlibaba Qwen8.2B4.9 GBComfortable~124.2 t/s
Llama 3.1 8B InstructMeta AI8.03B4.92 GBComfortable~123.7 t/s
DeepSeek R1 Distill Llama 8BDeepSeek AI8.0B4.9 GBComfortable~124.2 t/s
Qwen 2.5 Coder 7B InstructAlibaba Cloud7.6B4.7 GBComfortable~129.4 t/s
Meta Llama 3.2 3B InstructMeta AI3.21B2 GBComfortable~304.2 t/s
DeepSeek V4-FlashDeepSeek AI284B (13B active)13B active170.4 GBCPU Offload~8.5 t/s
OpenAI gpt-oss-120bOpenAI116.8B (5.1B active)5.1B active65 GBCPU Offload~23.4 t/s
Llama 4 Scout (17B active, 16 experts)Meta109B (17B active)17B active65.4 GBCPU Offload~6.5 t/s
DeepSeek V3 671B MoEDeepSeek AI671B (37B active)380 GBUnsupported—

How these are estimated: tokens/sec ≈ memory bandwidth × 0.65 ÷ active weights in GB. These are arithmetic estimates from published specifications, not lab measurements — BFWR does not run a hardware test lab. Real throughput varies with runner, quantization, context length and thermals.

Performance Estimate

Estimated ~124.2 tok/s for an 8B model (Qwen3 8B, Q4_K_M) running fully in 48GB of VRAM (936 GB/s). Estimate from memory bandwidth, not a lab measurement.

Supported Local Inference Software

vLLM

Expected to Run

Ollama

Expected to Run

llama.cpp

Expected to Run

TGI

Expected to Run

Instant CLI Run Command

Launch your model locally with a single terminal command:

ollama run qwen3.6:35b

Image generation on the Homelab AI Server (Dual RTX 3090 48GB VRAM)

Diffusion models size up differently from language models: the text encoder is often as large as the image model itself, and memory scales with resolution. Measured at 1024×1024, one image at a time, against the ~48GB of VRAM here, 11 of 11 open image models will run — the best being FLUX.1 [dev] at BF16 / FP16, peaking near 36.5GB — but that model is non-commercial; FLUX.1 [schnell] is the best option you can ship.

ModelBest setup that fitsPeak VRAMStatusCommercial
FLUX.1 [dev]11.9B · Black Forest LabsBF16 / FP1636.5 GBComfortableNo
FLUX.1 [schnell]11.89B · Black Forest LabsBF16 / FP1636.5 GBComfortableYes
FLUX.2 [klein] 9B9.08B · Black Forest LabsBF16 / FP1637.5 GBComfortableNo
Stable Diffusion 3.5 Large8.15B · Stability AIBF16 / FP1630.6 GBComfortableConditions
Qwen-Image 2.17.12B · Alibaba QwenBF16 / FP1635.5 GBComfortableNo
FLUX.2 [klein] 4B3.88B · Black Forest LabsBF16 / FP1618.8 GBComfortableYes
Stable Diffusion XL 1.02.57B · Stability AIBF16 / FP169.2 GBComfortableConditions
Stable Diffusion 3.5 Medium2.47B · Stability AIBF16 / FP1619.1 GBComfortableConditions
Stable Diffusion 1.50.86B · Runway / Stability AIBF16 / FP164.2 GBComfortableConditions
FLUX.2 [dev]32.22B · Black Forest LabsFP8Text encoder on CPU35.4 GBWith offloadNo
Qwen-Image20.43B · Alibaba QwenBF16 / FP16Text encoder on CPU44.1 GBWith offloadYes

Weight sizes are read from the real .safetensors files in each model’s Hugging Face repository. Activation memory is an approximation that varies with the attention implementation and sampler, so leave headroom. These are planning figures, not benchmarks.

Homelab AI Server (Dual RTX 3090 48GB VRAM): common questions

What is the largest model the Homelab AI Server (Dual RTX 3090 48GB VRAM) can run?
Qwen 2.5 72B Instruct (72.7B) is the largest model that fits, at roughly 42.5GB in Q4_K_M against 48GB of VRAM. It is rated "Comfortable" here, with an estimated 14.3 tokens/sec.
How many tokens per second should I expect?
Speed depends on the model, not just the machine. On this hardware the estimates range from about 338 tokens/sec for the smallest models down to single digits for the largest that still fit. The estimate uses memory bandwidth (936 GB/s here) × 0.65 ÷ active weights in GB, and is not a measured benchmark.
Can the Homelab AI Server (Dual RTX 3090 48GB VRAM) run a 70B model?
Yes — Qwen 2.5 72B Instruct is rated "Comfortable" here at roughly 42.5GB in Q4_K_M, with an estimated 14.3 tokens/sec. Expect to keep the context modest.
How much context can I use?
128k tokens is a sensible ceiling on this machine at FP16 for 8B; Q4_K_M for 70B. Context is stored in the KV cache, which grows with every token and competes with the model weights for the same memory, so a longer context means a smaller model.
Can the Homelab AI Server (Dual RTX 3090 48GB VRAM) generate images with Flux or Stable Diffusion?
Yes. 11 of 11 open image models fit at 1024x1024, the best being FLUX.1 [dev] at BF16 / FP16, peaking near 36.5GB. Note that FLUX.1 [dev] is licensed for non-commercial use only; FLUX.1 [schnell] is the best option you can actually ship. Higher resolutions and larger batches cost proportionally more.
Which runner works best on the Homelab AI Server (Dual RTX 3090 48GB VRAM)?
vLLM, Ollama, llama.cpp, TGI are all expected to run on this hardware. Ollama is the simplest starting point, and `ollama run qwen3.6:35b` is a good first model for this machine.

Guides for the Custom Server setup

In-depth reads that pair with this machine — sizing memory, picking a runner, and choosing quantization for ~48GB of usable memory.