Tools
Calculators
VRAM fit, what your GPU can run, local versus cloud cost, and buying guidance — same engine the model pages use.
What Can I Run?
Pick a GPU or VRAM budget and see every published model that fits, with the quantization required.
ƒVRAM Calculator
Model, quant, and context length to a GB figure, plus the cheapest GPU that can hold it.
ƒCost vs Cloud
Break-even months for local hardware versus OpenAI, Anthropic, and Gemini API pricing.
ƒGPU Buying Guide
VRAM floor to card, by the models you actually want to run.
ƒLeaderboard
Open-weight models ranked from sourced benchmarks. Unscored models sit separately.
This Calculators index provides the technical baseline for sizing local model deployments, calculating layer distribution, and mapping memory budgets across dedicated hardware. Static parameter-to-gigabyte lookup tables fail in production because inference memory is dynamic. Runtime VRAM allocation balances base weights, active KV cache state, runtime contexts, and transient activation spikes.
Operators running dedicated inference nodes or consumer hardware—from an 8.00GB card up to a 24.00GB workstation setup—need predictable headroom. Use the dedicated VRAM calculator for per-layer budgeting and context sizing, or check the What can I run tool to evaluate models against your physical hardware.
The 5-Component Runtime Memory Model
Total memory consumption during inference is never just the file size on disk. Sizing an environment requires calculating five separate allocation layers that exist concurrently in GPU frame memory.
First is the display server baseline. Operating system compositors like Windows DWM, Xorg, or Wayland immediately consume 300MB to over 1.5GB of VRAM if the card drives physical monitors.
Second is the CUDA context runtime floor. Initializing a compute framework on modern drivers reserves between 400MB and 1GB before reading the first tensor.
Third is the static model weight footprint. While a quantized format reduces average bit-depth, base weights also include unquantized or Q8_0 normalization layers, token embeddings, and output heads that increase the memory profile.
Fourth is the dynamic key-value (KV) cache buffer. The KV cache grows linearly with active sequence length, batch count, and attention layer dimensions.
Fifth is transient activation memory. Matrix multiplication operations during prompt evaluation generate temporary activation tensors that create sharp allocation spikes before settling into steady-state token generation. Inspecting memory management in the llama.cpp repository shows how dynamic scratch buffers trigger allocation failures if headroom is missing.
KV Cache Scaling: Multi-Head vs Grouped-Query Attention
Context window memory requirements are dictated directly by the transformer attention architecture. In legacy Multi-Head Attention (MHA), every query head has a dedicated key and value head, driving linear cache growth that consumes substantial memory at long context lengths.
Modern architectures use Grouped-Query Attention (GQA), which shares key-value heads across multiple query heads. This architectural optimization reduces the KV cache footprint by factors of 4x to 8x at identical sequence lengths.
Under MHA, allocating an 8k context window on a 7B model can consume more VRAM than a 32k window on an equivalent 7B model utilizing GQA. When running high-context workloads on fixed memory cards, you can evaluate context limits using What can I run.
Operators can also quantize the KV cache to FP8, Q8_0, or Q4_0 in supported backends. Quantizing the cache cuts per-token overhead by half to three-quarters, preserving context length on hardware with tight capacity limits.
Quantization Formats and True Memory Footprints
Assuming a 4-bit quantization level consumes exactly 0.5 bytes per parameter across an entire model is a common sizing mistake. In standard GGUF schemes like Q4_K_M, critical layers such as the embedding matrix and output projection are retained at higher bit precisions (such as Q6_K or FP16) to prevent output degradation.
Consequently, a model labeled as 4-bit often averages 4.5 to 4.8 bits per parameter across its total weight tensor structure. Engines like llama.cpp manage these mixed precisions automatically, but the loaded size remains higher than theoretical bit-depth math suggests.
For high-throughput environments using vLLM, formats like AWQ or FP8 provide uniform bitrates optimized for fast Tensor Core execution. Desktop applications and headless runners introduce varying runtime memory footprints on top of these raw weights, making engine choice a critical variable in total consumption.
Prefill Activation Spikes vs Steady-State Generation
A model that loads successfully into VRAM can still fail immediately upon receiving its first prompt. This failure happens during the prefill phase, where the inference engine ingests and computes the prompt in parallel matrix operations.
Parallel prompt evaluation creates activation tensor spikes that scale with the ingested prompt length and batch size. Decoding, by contrast, operates on one token per stream and requires very low activation memory.
Running engines on constrained hardware requires configuring context reservation settings to account for these compute buffers. When using our VRAM calculator, maintain a safety margin of at least 1.0GB to 1.5GB above static weight and cache calculations to absorb prefill spikes.
Layer Offloading vs Tensor Parallelism
Scaling models beyond the capacity of a single GPU requires choosing between layer offloading and tensor parallelism. Layer offloading, standard in llama.cpp, distributes transformer blocks sequentially across available memory pools.
You can run layers on a dedicated GPU and spill remaining layers into system DDR memory over the PCIe bus. However, CPU offloading introduces severe memory bandwidth bottlenecks that drastically reduce generation tokens per second.
In server deployments, vLLM utilizes tensor parallelism to slice individual attention and feed-forward weight matrices horizontally across multiple identical GPUs. Detailed in the vLLM Engine Arguments Documentation, this architecture requires matching memory capacities across cards.
Attempting tensor parallelism across mismatched cards locks the larger card down to the capacity of the smaller card, wasting available VRAM. A high-bandwidth single card avoids these synchronization overheads entirely for workloads within its memory ceiling.
Auditing Your Sizing
Hardware calculators produce out-of-memory errors when they assume ideal conditions. The most frequent errors include ignoring OS desktop reservation on the primary video card, assuming a zero-byte KV cache, and failing to account for framework initialization buffers.
Before launching local web frontends, run nvidia-smi in your terminal to inspect true idle VRAM consumption. If your operating system is already consuming 1.2GB of display memory, that capacity is permanently unavailable to your inference engine.
If you have selected a specific model architecture and need to determine exact layer distribution, quantization tolerance, and context limits, use the VRAM calculator. If you have an existing physical machine, start with What can I run to filter models that fit inside your available frame buffer.