Hardware tier · 48GB VRAM
What Can 48GB VRAM Run? Workstation-Class Local AI
48GB of GPU memory is the threshold at which 70B models fit in a single memory pool at Q4 quantization. Below this point — at 24GB — 70B models simply do not fit at interactive speed. Above this point, 30B models at Q8 (near-lossless quality) also become practical. This tier covers three different paths to 48GB: an NVIDIA RTX A6000 workstation card, a dual RTX 3090 NVLink bridge, or Apple Silicon 64GB unified memory with its ~48GB accessible pool.
Editorial review
Hardware pricing and availability change frequently. This page covers the 48GB VRAM tier across three distinct hardware paths. Multi-GPU capacity pools by default under Ollama and llama.cpp; bandwidth does not, so two cards give you the memory of both at about the speed of one. Tensor parallelism through vLLM or TensorRT-LLM is the faster path and needs runtime support. Verify runtime compatibility before purchasing.
Verdict: 48GB VRAM Is the Workstation-Class Local AI Tier
Where 70B at Q4 becomes practically runnable in one usable memory pool — reachable via three paths that differ sharply in bandwidth, software support, and setup complexity.
- 70BQ4_K_M (~38–42 GB) with 6–10 GB headroom — the headline unlock
- 30B–32BQ8 (~34 GB) — impossible at 12 or 24 GB
- 70B Q8~74 GB — still needs 80 GB+ (A100/H100) or cloud
- PathsRTX A6000 (simplest CUDA) · dual-3090 NVLink (cheapest) · Apple Silicon 64GB (easiest)
Good fit for
- 70B models at interactive quality as a routine workload
- Near-lossless 30B work with room for long context
Wrong fit for
- 70B at Q8 or FP16 — that is data-centre or 128GB+ unified-memory territory
The 48GB VRAM tier is where 70B models become practically runnable at Q4 quality inside one usable memory pool. RTX A6000 systems, dual RTX 3090 NVLink builds, and 64GB Apple Silicon machines can all approach this class, but they differ sharply in bandwidth, software support, and setup complexity. The RTX A6000 is the simplest CUDA path. Dual-3090 NVLink is the lower-cost consumer alternative but requires explicit multi-GPU runtime configuration. Apple Silicon 64GB is the most accessible entry — no CUDA runtimes, but simpler setup and excellent price-per-gigabyte of memory at the cost of tokens-per-second.
Model fit at 48GB VRAM
The table applies to any configuration with approximately 48 GB of contiguous accessible memory. For Apple Silicon 64GB, approximately 48 GB is accessible for AI workloads (~75% of total pool).
| Model size | Best quantization | Memory used | Fits in 48GB? | Notes |
|---|---|---|---|---|
| 1B–14B | FP16 | 2–28 GB | Yes | Full precision on all models up to 14B. Large VRAM headroom. |
| 30B–32B | FP16 | ~60–64 GB | No (Q8 fits) | FP16 on 30B exceeds 48 GB. Q8 on 30B (~34 GB) fits with headroom. |
| 30B–32B | Q8 | ~34 GB | Yes | Near-lossless quality on 30B models. Impossible at 12 or 24 GB. |
| 70B | Q4_K_M | ~38–42 GB | Yes | The headline unlock. Fits with 6–10 GB headroom. 70B at interactive quality. |
| 70B | Q8 | ~74 GB | No | Q8 on 70B requires ~74 GB — exceeds 48 GB. Needs 80 GB+ (H100, A100 80GB) or cloud. |
| 120B+ | Q4 | 70 GB+ | No | Frontier model sizes. Requires multi-GPU nodes or cloud. |
Use the Local LLM Compatibility Checker to match specific models against your exact hardware configuration and workflow.
What 48GB unlocks over 24GB
- 70B models at Q4: The critical unlock. A 70B model at Q4_K_M needs ~38–42 GB. This fits in a 48 GB pool with 6–10 GB of headroom. No 24 GB GPU can do this without CPU offload at slow speeds. 70B at Q4 is the practical best-quality 70B that fits here.
- 30B and 32B at Q8: Q8 on a 32B model needs ~34 GB — impossible at 24 GB, comfortable at 48 GB. Near-lossless quality on a 30B model is a meaningful step above 24 GB where Q4 is the ceiling.
- 14B at FP16 with full context headroom: 14B FP16 uses ~28 GB, leaving 20 GB of headroom for KV cache at large context windows. Very long context at FP16 precision on a 14B model becomes practical.
Hardware paths to 48GB: architecture constraints
| Hardware | Bandwidth | Architecture | Notes |
|---|---|---|---|
| NVIDIA RTX A6000 48GB | 768 GB/s | Ampere (professional) | Single-card 48 GB GDDR6. Supports NVLink for 96 GB dual-card setups. Full CUDA ecosystem. Professional tier pricing. |
| Dual RTX 3090 NVLink | ~600 GB/s cross-link | Ampere (consumer, bridged) | Two RTX 3090 cards give 48 GB of usable capacity under Ollama or llama.cpp by layer split, with no NVLink bridge required — bandwidth does not pool, so expect single-card speed. NVLink 3.0 plus vLLM or TensorRT-LLM adds tensor parallelism, which is faster. Requires a 1000 W+ PSU either way. |
| Apple Silicon 64GB Unified Memory | ~400 GB/s | Apple M-series (Metal, unified) | The 64 GB pool is ~48 GB accessible for AI (~75%). Metal only — no CUDA runtimes. Ollama, LM Studio, and llama.cpp all support Metal. Simplest path to 70B locally. Lower tokens-per-second than CUDA at the same model size. |
Architecture constraints by path
- RTX A6000 (CUDA / Ampere): Standard CUDA compute path. Ollama, LM Studio, vLLM, TGI, and llama.cpp all work without modification. The 768 GB/s bandwidth is lower than the consumer RTX 4090 (1008 GB/s) but operates on a 48 GB pool — you trade tokens-per-second versus model ceiling. Professional pricing typically means used market is the most realistic purchase path.
- Dual RTX 3090 / NVLink (CUDA / Ampere, bridged): The RTX 3090 is the last consumer NVIDIA card to support NVLink, making it the only practical consumer dual-GPU path to a unified 48 GB pool. The constraint is runtime support: Ollama sees each card as a separate 24 GB device and will not automatically pool them. vLLM with
--tensor-parallel-size 2or a TensorRT-LLM build with explicit tensor parallel config is required. The setup also demands a 1000 W+ PSU, an NVLink 3.0 bridge, and careful thermal management. Not a beginner path. - Apple Silicon 64GB (Metal / unified memory): Unified memory means the CPU and GPU share the same physical pool — there is no discrete VRAM; the OS dynamically allocates the accessible GPU allocation (raise the limit with
sudo sysctl iogpu.wired_limit_mb=57344). The Metal backend replaces CUDA, so CUDA-only runtimes and tools that require CUDA libraries do not run. Ollama, LM Studio, and llama.cpp all support Metal. The tradeoff: lower tokens-per-second at any given model size vs a CUDA workstation GPU, but dramatically simpler setup and the best watt-per-gigabyte-of-memory ratio of any path at this tier.
What 48GB still cannot do
- 70B at Q8: Q8 on a 70B model requires ~74 GB. Needs 80 GB+ (NVIDIA A100 80GB, H100 80GB) or cloud inference.
- 30B at FP16: FP16 on 30B requires ~60 GB. Exceeds 48 GB. Q8 is the practical ceiling for 30B+ at this tier.
- Multiple large models simultaneously: 70B at Q4 uses most of the 48 GB pool. Running a second model alongside it is not practical at this tier.
- Frontier MoE models: Very large mixture-of-experts models (120B+ parameter counts) at Q4 exceed 70 GB. Requires multi-GPU nodes or cloud.
Recommended models for the 48GB tier
- Llama 3.1 70B Q4_K_M — the headline model:
ollama pull llama3.1:70b. This is the model class that 48GB is built for. Strong instruction following, long context, and broad capability at Q4 quality. - Qwen 2.5 32B Q8 — near-lossless 30B quality:
ollama pull qwen2.5:32b-q8_0. The other headline unlock at this tier. Near-FP16 quality on a 32B model — impossible at 24 GB. - DeepSeek-R1 70B Q4 — reasoning at scale:
ollama pull deepseek-r1:70b. Multi-step reasoning at the 70B parameter class. Strong for structured output, chain-of-thought, and complex analysis tasks. - Qwen 2.5 14B FP16 — fast and precise:
ollama pull qwen2.5:14b-fp16. Full precision on a 14B model with plenty of VRAM headroom. The best daily driver when generation speed matters more than 70B depth.
Setup paths by hardware track
Track A: NVIDIA RTX A6000 / Linux CUDA path
# Install Ollama on Linux
curl -fsSL https://ollama.com/install.sh | sh
# Pull the headline 70B Q4 workload for this tier
ollama pull llama3.1:70b
# Pull a high-quality 32B option at Q8
ollama pull qwen2.5:32b-q8_0
# Run the 70B model locally
ollama run llama3.1:70bTrack B: Dual RTX 3090 / NVLink workstation path
# Install Ollama on Linux
curl -fsSL https://ollama.com/install.sh | sh
# Confirm both GPUs are visible
nvidia-smi
# Pull a practical 70B Q4 workload
ollama pull llama3.1:70b
# Run the model — Ollama uses one GPU at a time
# For unified 48GB pool, switch to vLLM:
# pip install vllm
# python -m vllm.entrypoints.openai.api_server \
# --model meta-llama/Llama-3.1-70B-Instruct \
# --tensor-parallel-size 2Ollama and llama.cpp already reach all 48 GB across two RTX 3090s by layer split, with no NVLink and no flags — that is the default path, and it costs you bandwidth rather than capacity. Use vLLM with --tensor-parallel-size 2 when you want tensor parallelism instead, which is faster. Verify your NVLink bridge is seated and that both cards appear under the same NUMA node in nvidia-smi topo -m.
Track C: Apple Silicon 64GB unified memory path
# Raise the usable GPU memory allocation limit first
sudo sysctl iogpu.wired_limit_mb=57344
# Pull and run the 70B model via Metal backend
ollama pull llama3.1:70b
ollama run llama3.1:70bApple Silicon uses the Metal backend — no CUDA runtimes. Expect 10–18 tokens per second on 70B Q4 on a 64GB M-series Max or Ultra, compared to 20–35 t/s on a CUDA workstation card at the same model. The tradeoff is simplicity and price-per-gigabyte of memory. The Apple Silicon guide covers Metal-specific configuration in full.
Best local AI workflows for this tier
- 70B reasoning and analysis: Complex document analysis, legal review, multi-step reasoning chains, and structured output tasks where 30B-class models fall short. 70B Q4 on a 48GB setup runs at interactive speed without cloud dependency.
- Near-lossless 30B inference: 32B models at Q8 are effectively indistinguishable from FP16 for most inference tasks. This is the right tier for teams that want high model quality without the complexity of cloud-serving a 70B model.
- Private local inference server: An RTX A6000 running vLLM can serve a 70B Q4 model to multiple concurrent users at acceptable throughput. Viable for small teams that need a private, uncensored, offline inference endpoint.
- Long-context workloads: The KV cache headroom at this tier makes very long context windows practical on 14B and 30B models. Good for RAG over large document sets, full codebase analysis, and extended agent loops.
Cloud GPU fallback
Even 48GB-class systems have a ceiling. 70B Q8, very large MoE models, and 120B+ experiments still exceed local memory or run too slowly for production-style testing. 80GB and larger cloud GPUs are the practical next step.
Some outbound provider links may be affiliate or partner links. OpenSourcesAI recommends cloud fallback only when the local hardware limit is the blocker.
Best cloud GPU for on-demand inference and spot rentals
RunPod
RunPod offers A100 80GB and H100 instances on demand and at spot pricing. The right choice when 70B Q8, batch workloads, or 120B+ experiments exceed local memory.
Pros
- A100 80GB opens 70B at Q8 — no quantization compromise
- Spot pricing for occasional large-model experiments
- Full-stack GPU pods with persistent storage
Cons
- Spot instances can be interrupted mid-run
- Requires Docker familiarity for custom environments
Partner link: OpenSourcesAI may earn a commission if you sign up.
Visit RunPodRelated hardware
FAQ
Can I run 70B models locally with 48GB VRAM?
Yes — at Q4_K_M quantization. A 70B model at Q4_K_M needs approximately 38–42 GB of VRAM, which fits in a 48 GB pool with 6–10 GB of headroom for the KV cache and runtime overhead. You will get roughly 20–35 tokens per second on a CUDA workstation GPU, or 10–18 t/s on Apple Silicon 64GB. What 48GB cannot do is run 70B at Q8: Q8 on 70B requires approximately 74 GB and needs an 80GB GPU (A100 80GB, H100) or cloud inference.
What is the difference between RTX A6000, dual RTX 3090 NVLink, and Apple Silicon 64GB for local AI?
They all approach ~48 GB of accessible memory but differ in speed, complexity, and ecosystem. The RTX A6000 is the cleanest path: a single CUDA card with 768 GB/s bandwidth, full Ollama/LM Studio/vLLM support, and no setup complexity. Dual RTX 3090 gives you 48 GB of usable capacity out of the box — llama.cpp and Ollama layer-split a model across both cards with no NVLink and no configuration, though bandwidth does not pool, so expect roughly the speed of a single card. Tensor parallelism through vLLM or TensorRT-LLM is faster still, and that is the mode which needs explicit configuration and an NVLink bridge. Apple Silicon 64GB gives ~48 GB accessible memory via unified architecture with the Metal backend: no CUDA support, lower bandwidth (~400 GB/s), but simpler setup and the best price-per-gigabyte of memory.
What is the best quantization for 30B models at 48GB VRAM?
Q8. A 30B–32B model at Q8 needs approximately 34 GB of VRAM — comfortable at 48 GB with 14 GB of headroom. Q8 is near-lossless: the quality difference from FP16 is minimal for most tasks. This is a meaningful step above the 24 GB tier, where Q4 is the ceiling for 30B models. FP16 on a 30B model (~60 GB) exceeds 48 GB and requires 64 GB+ of VRAM.
Does Ollama support multi-GPU VRAM pooling for a dual RTX 3090 NVLink setup?
For capacity, yes — and it does not need NVLink. Ollama is llama.cpp underneath, and llama.cpp layer-splits a model across every visible card by default, so a 70B at Q4 loads across two RTX 3090s out of the box. What does not pool is bandwidth: splitting shares the work between two 936 GB/s cards, it does not sum them into 1.9 TB/s, so expect the capacity of 48 GB at roughly the speed of one card. Tensor parallelism is the faster mode and is what actually needs setup — vLLM with `--tensor-parallel-size 2`, or a TensorRT-LLM multi-GPU build — and that is where an NVLink bridge earns its place.
What should I run first on a 48GB local AI setup?
Start with a 70B Q4 model — that is the unlock this tier is built for. On an RTX A6000 or dual-3090 CUDA setup, run `ollama pull llama3.1:70b` and then `ollama run llama3.1:70b`. On Apple Silicon 64GB, first raise the GPU memory allocation limit with `sudo sysctl iogpu.wired_limit_mb=57344`, then pull the same model. After testing 70B, try `ollama pull qwen2.5:32b-q8_0` for near-lossless quality on a 32B model — that is the other headline unlock at this tier.
Disclosure
OpenSourcesAI may earn a commission or referral fee from links to cloud GPU providers or partner tools on this page. Editorial assessments are produced independently and are not influenced by commercial relationships. Hardware specs are sourced from manufacturer documentation. Model VRAM estimates are derived from GGUF quantization formulas and may vary across runtime versions and model architectures. Verify before making purchasing decisions.
Check model fit for the 48GB tier
Enter your VRAM, RAM, and workflow into the compatibility checker to see which models and quantization levels are recommended for your setup.
For builders
Selling AI hardware, cloud GPUs, or workstation solutions?
Sponsor a contextual placement on this page or submit your product for editorial review on OpenSourcesAI. For sponsorship options, advertise with us. For submissions or corrections, use the submit page.