TL;DR
In local AI the single number that decides whether a model will even load is VRAM - before speed matters at all. The RTX 3090 offers 24GB of GDDR6X at roughly half the price of the 4090, which has the same 24GB. For the vast majority of local work - 32B models, RAG, code-assist - a single 3090 is more than enough. And two cards pool 48GB, which unlocks Llama-3.x-70B at 4-bit quantization - something no single consumer card (including the 32GB 5090) can do. Underneath it all sits CUDA: nearly two decades of ecosystem that still makes NVIDIA the lower-friction choice, even though the gap to AMD ROCm is now closing. This article covers the real VRAM math, quantization, the KV cache, and software maturity.
VRAM Is Everything (the Rest Is Speed)
When running inference on large language models, the first question isn't "how fast" but "does it even fit." There are two reasons memory weighs more than raw compute.
First, the model has to physically fit in the card's memory. If the weights don't fit in VRAM, you either offload layers to system RAM (tens of times slower) or the model simply won't start. There's no "a bit slower" workaround - it either fits or it doesn't.
Second, token generation is memory-bandwidth-bound, not compute-bound. In autoregressive decoding, every new token requires reading all of the model's weights from VRAM. This means generation speed (tokens/s) is determined mainly by memory bandwidth, not by the number of CUDA cores. That's why a card with huge compute but modest bandwidth doesn't deliver proportionally faster generation - and why the bandwidth differences between Ampere and Ada are smaller than the marketing slides suggest.
How Much VRAM a Model Eats
The rough math is simple: weights + KV cache. At 4-bit quantization (Q4_K_M GGUF - the de facto standard for local deployment) the weights take a bit over half a byte per parameter (Q4_K_M is a mixed-precision K-quant averaging ~4.5-4.8 bits/param, i.e. ~0.55-0.6 bytes; ~0.5 bytes is a rough floor):
- 7-8B model: ~5-6GB of weights. Runs on almost anything.
- 32B model: ~18-20GB of weights + KV cache. Fits comfortably in 24GB.
- 70B model: ~40-43GB of weights + KV cache. Does not fit in 24GB, nor in 32GB. You need ~48GB.
For completeness: a 70B at FP16 (16-bit, ~2 bytes per parameter) is ~140GB of weights alone. That fits on no consumer card, not even 2×24GB - it requires a datacenter with 2×80GB (A100/H100).
On top of the weights sits the KV cache - the memory that stores the keys and values of the attention mechanism for already-processed tokens. For a 70B at 4K context the KV cache is on the order of 1.5-2GB (with FP16 KV), but it grows linearly with context: at 128K it can reach tens of GB. The KV cache can also be quantized (e.g. to 8-bit), which roughly halves it - a critical trick when you're fighting for every gigabyte.
An important clarification, because it's often confused: a 32B model does not require 48GB. Qwen2.5-32B, Qwen2.5-Coder-32B and the newer Qwen3-32B at Q4_K_M fit comfortably in a single 24GB card, with room for a decent amount of context. It's precisely the 32B class that makes a single 3090 worthwhile on its own. Only the 70B requires a dual setup.
Comparison: 3090 vs 3090 Ti vs 4090 vs 5090
All three high-end Ampere/Ada cards - 3090, 3090 Ti and 4090 - carry the same 24GB. Only the 5090 jumps to 32GB. This is the key fact: for local AI the 3090 and 4090 load exactly the same models, because they have identical memory capacity.
| Card | VRAM | Bandwidth | CUDA cores | Rel. speed (generation) | Price tier | 70B @ 4-bit standalone? |
|---|---|---|---|---|---|---|
| RTX 3090 | 24GB GDDR6X | ~936 GB/s | 10,496 | baseline (1.0×) | cheapest (used) | No (~40GB > 24GB) |
| RTX 3090 Ti | 24GB GDDR6X | ~1008 GB/s | 10,752 | +5-10% | ~€300 over 3090 | No |
| RTX 4090 | 24GB GDDR6X | ~1008 GB/s | 16,384 | +20-40% (workload-dependent) | ~2× the 3090 | No |
| RTX 5090 | 32GB GDDR7 | ~1792 GB/s | 21,760 | highest | €4000+ | No (32GB < ~40GB) |
A few notes on the table:
- 3090 Ti is honestly 5-10% faster than the 3090 (1008 vs 936 GB/s bandwidth, ~2% more cores). A real but, for daily work, barely noticeable difference for ~€300 extra.
- 4090 has dramatically more compute (16,384 vs 10,496 cores), but bandwidth is only ~8% higher (1008 vs 936 GB/s). So for bandwidth-bound generation the real lead is closer to ~20-40% depending on workload - not a fixed "+40%." During prompt processing (the compute-bound phase) the difference is larger; during long generation, smaller. At double the price and the same 24GB, the 4090 loads not a single model more than the 3090.
- 5090 does have huge bandwidth (~1792 GB/s, GDDR7, 512-bit bus) and will generate noticeably faster. But 32GB still doesn't reach the ~40GB needed for a 70B @ Q4_K_M. Only an aggressive, lower-quality quant (IQ3/Q3, ~30-34GB) is borderline - with a quality trade-off. You pay 4×+ for 8GB extra that doesn't unlock the next class of models.
The Real Math: 2× RTX 3090 = 48GB
This is the heart of it. Llama-3.x-70B at Q4_K_M wants ~40-43GB just for the weights. That fits in no single consumer card - neither 24GB (3090/4090) nor 32GB (5090).
But 48GB (2×24GB, e.g. 2× RTX 3090) fits it: ~40GB of weights + KV cache + overhead fit comfortably in 48GB with a usable context of 8K-32K, especially with a quantized KV cache. This is the standard community recipe for a local 70B - not exotica, but a proven approach. It only gets tight at very long context (64K+), where you either reduce the context or aggressively quantize the KV cache.
The economics are brutal: two RTX 3090s often cost as much as a single RTX 4090, and give you twice the VRAM. With a 4090 you have a faster single card but the same 24GB - meaning you can't load anything a 3090 can't. With 2× 3090 you unlock an entire class of models (70B) that's out of reach for any single consumer card. It's not about speed - it's about which models even get into the game.
If you're sizing such a build and want to compute the return versus renting cloud GPUs, our GPU ROI calculator compares capex against hourly rental - electricity, depreciation and cost per hour.
Why Not AMD?
AMD gives more VRAM per euro - that's a fact. The problem was never the hardware, it was the software, and in 2026 the picture is more nuanced than it was two years ago.
The entire AI ecosystem was historically built around CUDA. CUDA was officially released in 2007 - so by 2026 it has nearly two decades of maturity: cuDNN, cuBLAS, deep tooling and near-universal framework support. PyTorch, TensorFlow, JAX and Hugging Face are CUDA-native by default (though not CUDA-exclusive - PyTorch has a working ROCm build, and TF/JAX also target TPU). This head start is the real "moat" around NVIDIA.
But ROCm 6.x is no longer broken. On equivalent consumer cards (RX 7900 XTX 24GB vs RTX 4090 24GB), ROCm delivers on the order of 75-85% of CUDA's performance in llama.cpp/Ollama. For memory-bound large models and high-batch serving (vLLM, batch 64-128) the gap narrows to ~5-10%. On datacenter class, results are highly workload-dependent - from trailing on typical inference to roughly parity on very large, memory-bound models; there is no single defensible figure.
The remaining gap is mostly software and maturity, not a fixed hardware penalty:
- weaker Windows support;
- less complete framework and kernel coverage;
- more setup friction.
There are mitigations too: the Vulkan backend is an easy path on Windows, and on RDNA4 (RX 9070 XT) Vulkan can even outperform AMD's own ROCm.
The takeaway for 2026: NVIDIA/CUDA remains the safer, lower-risk default for local LLM work - less friction, more assurance that everything "just runs." But avoid the absolute claim that AMD is "20-40% slower" - it's a shrinking, workload-dependent support gap, not a hardware wall. If you value your time more than money - NVIDIA. If you have the patience for setup and you're chasing VRAM/€ - AMD is now a defensible option.
When It Makes Sense Not to Save
The 3090 is the sensible default, but it's not the universal answer. There are scenarios where paying up is justified:
- RTX 4090 / 5090 - when speed is the bottleneck, not capacity: fast prompt processing, real-time applications, many concurrent requests, frequent fine-tune experiments. You pay for compute, not capacity. The 5090 also makes sense for its GDDR7 bandwidth and 32GB if you work within them.
- RTX PRO 6000 (Blackwell) - when you need 96GB on a single card without the complexity of a multi-GPU split: large models, long context, higher reliability for production.
- H200 / datacenter class - when you want a 70B in full FP16 (the weights alone are ~140GB; you need 2×80GB A100/H100), serious throughput for many users, larger models at a higher quant, or reliability and warranty requirements that a home 3090 build doesn't cover.
- SEV-SNP confidential compute - when the data is regulated or sensitive and must be encrypted even during execution in memory.
The simple rule: 3090 for capacity on a budget; 4090/5090 for speed; PRO 6000/H200 for production, scale and compliance.
Aura Digital designs and assembles exactly such machines to spec - from dual 3090s for a local lab to SEV-SNP confidential-compute servers with RTX PRO 6000 / H200 and up to 5-year warranty. If you're weighing whether to invest in your own hardware instead of the cloud, take a look at our GPU & AI infrastructure service.
Conclusion
For serious but budget-conscious local AI work, the RTX 3090 is the most logical entry point for one simple reason: it gives the maximum consumer VRAM capacity (24GB) at the lowest price. A single 3090 covers 7B-32B models, RAG and code-assist without compromise, including a serious discrete 32B coding/reasoning model (Qwen2.5/Qwen3-32B). Two 3090s = 48GB unlock Llama-70B at 4-bit, which no single consumer card - neither the 4090 nor the 5090 - can do, at a lower total cost. You pay for what actually unlocks models (VRAM), not for marketing numbers. And when you reach production, larger models and warranty - that's where the PRO 6000 / H200 class comes in.
If you're planning local AI hardware and want a build sized for the exact models you'll run - without overpaying for VRAM you won't feel - contact us for a free consultation. We'll help you choose between a single 3090, a dual-GPU node, or professional class according to your models, context and budget.