← Back to the calculator

Memory methodology · v0.3

Update 1.0-rfc2: the current version extends these base formulas with grouped metadata and host and software reservations. See the updated sizing methodology and its sources. The previous profiles remain available as a manual alternative.

Reviewed on 22 September 2026. An estimate intended for sizing. It does not replace testing with the actual workload.

Changes since v0.1

ConceptBeforeNow
QuantizationAll parameters at one precisionQuantized portion + BF16 portion; adjustable metadata
Inference activationsImplicit in a percentageSeparate activation and logit budgets
Multi-GPUIdeal total capacityTP, PP, replicas and a per-GPU decision
ConcurrencyMaximum of batch and usersActive batch and resident requests separated
KVMHA/GQAMHA/GQA/MQA/MLA, blocks, prefix and window
TrainingGrouped states and a fixed factorEditable gradients, AdamW, master copy and K
RuntimeFixed 2.147483648 GB per GPUEditable budget, separate buffers and margin

Implemented formulas

P is total parameters, U unquantized parameters, L layers, H hidden dimension, S context, B microbatch and V vocabulary. Parameter counts entered in billions are multiplied by 10⁹. All calculated memory is converted using bytes / 10⁹.

Assumptions that must not be interpreted as measured data

Project defaults: K=20, engine context=1.073741824 GB/GPU, margin=15%, reserve=10%, quantized metadata=5%, KV blocks=16 tokens and prefill=2048 tokens. The margin does not replace explicit components or represent a measurement.

The engine, interface and report use decimal GB: 1 GB = 1,000,000,000 bytes. For example, 8 billion FP16 parameters occupy 16 GB before other components. Catalogue capacities retain the published nominal GB without reinterpreting them as binary units. This is a planning budget, not a measurement of physical bytes: confirm the memory visible to the engine. Previous binary engine and OS budgets are converted to GB while preserving their byte counts. Bandwidth is in GB/s and disks in decimal TB (1 TB = 1,000 GB).

The approximate 0.04 multiplier is not applied to all MLA models: their dimensions are used. MoE VRAM is not reduced using a probabilistic curve of active experts either: all weights remain resident. Selecting a GPU does not guarantee support for kernels or formats.

Limits remain: no linear/DSA/CSA attention, explicit multimodal encoders, ZeRO/FSDP, checkpointing, inter-node parallelism, speculative decoding or measured TPS/TTFT prediction. The indicative inference range is explained below. The network card does not itself change the model's byte count.

Visual panel and indicative speed (v0.3)

The circle represents the budget of the most heavily loaded GPU divided by its usable VRAM, after reservation. Up to 60%: ample headroom; 60–85%: headroom; 85–100%: tight; above 100%: does not fit without changes or RAM offload. These are project planning categories, not manufacturer thresholds. When capacity is exceeded, the circle fills and the percentage retains its value above 100%; the text shows the missing GB.

Speed follows a compute and bandwidth roofline approach using planning formulas and assumptions. It is offered only for preloaded dense models with standard full-context attention, efficient attention, TP=PP=1 and sufficient memory without offload. MoE, MLA, sliding windows and special dimensions have no speed estimate. No figures are assigned to training, custom models, GB300 NVL72 or uncalibrated TP/PP communication.

Per occupied replica: B = min(batch, ceil(users/replicas)). Each decode step reads all weights plus the KV of B sequences at the selected maximum context. The shared prefix is not deducted from KV reads. Approximate FLOPs = B × (2P + 4LHS). Step time = max(bytes/effective bandwidth, FLOPs/effective compute) / penalty + 0.002 seconds. For weights below 8 bits, the penalty is 0.92; INT4/FP8 arithmetic acceleration is not promised. Dense BF16 TFLOPS are used, without sparsity.

The conservative scenario uses 35% of bandwidth and 20% of compute; the favourable scenario uses 70% and 45%. These are illustrative assumptions, not percentiles, confidence intervals or measured results. Tokens/s per user = (B / requests per replica) / step time. If requests are queued, this is a long-term average with fair sharing, not a guaranteed continuous cadence. Balanced distribution between replicas and sufficient CPU input are assumed.

Prefill without queueing: max((2PN + 4LHN²)B/effective compute, weight bytes/effective bandwidth) + 0.002 s, with N limited to context. This approximates prompt processing, not end-to-end TTFT: it omits tokenization, model loading, network, scheduling, contention and waiting. The bar compares the conservative tokens/s bound with the entered target; it saturates at 2× the target while the number retains the full range.

CPU, RAM and network receive no arbitrary tokens/s multipliers: their actual effect requires measurement of the engine, topology, traffic and data supply. Adding replicas can serve more users; it does not automatically accelerate one request. Quantization and the backend must be supported by the GPU.

Figures marked as sparse in specifications are divided by two to obtain the dense reference. Decimal GB/s is not equated with GiB/s.

Expanded catalogue

311 entries reviewed: 224 calculable and 87 excluded because of insufficient data or support. Each model's own dimensions and limits are loaded; Qwen's architecture is not reused for other families. See scope, sources and limitations by model.

Verification

Automated numerical tests: a GQA example, mixed precision, MLA, residency, prefix, blocks, SWA, TP/PP, KV replication, queueing, AdamW, offload and rejection of invalid configurations. These do not replace measurement with a real LLM.

Hardware sources and compatibility scope