Friendly disclaimer: flozi00 TechHub is a solo side-project next to a full-time job — personal learning notes, no official statements. Verify critical steps yourself.

LLM Inference Economics: Hardware Limits, Costs & Cloud Break-Even

From physics to euros: memory and compute limits of LLM inference, which models fit which hardware, token yield per GPU, own hardware vs cloud break-even, and open-weight models vs proprietary API token costs.

4 min readflozi00
aigpuinferenceeconomicsclouddeep-learningtoolscalculator

LLM Inference Economics: Hardware Limits, Costs & Cloud Break-Even

Serving LLMs is a sandwich of physics and economics. The physics — memory bandwidth, FLOPS, VRAM capacity — caps how many tokens a given GPU can produce. The economics — acquisition prices, power, cloud rates, API list prices — decides whether those tokens are cheaper on your own hardware or on someone else's. This page walks through both, with interactive calculators wired to the same roofline math as the inference calculator.

Getting started: the two resources that limit you

Memory: the batch-1 bottleneck

At low concurrency, decode is memory-bandwidth-bound. Generating one token means streaming every active model parameter from VRAM once:

tok/smemory bandwidthactive parameter bytes\text{tok/s} \approx \frac{\text{memory bandwidth}}{\text{active parameter bytes}}

Two more memory limits stack on top:

  • Capacity: weights + KV cache must fit in VRAM. A 70B model at BF16 needs ~140 GB before a single token of context — no consumer card can hold it.
  • Amortization ceiling: batching spreads the weight-read cost over more requests. But every additional sequence also grows the KV cache, so at some point VRAM is full and the batch stops growing.

Compute: the ceiling you hit at scale

The same GPU also has a hard FLOPS roof. Each token costs ~2 FLOPs per active parameter (multiply + accumulate), independent of quantization:

tok/smax=FLOPS2×active parameters\text{tok/s}_{\text{max}} = \frac{\text{FLOPS}}{2 \times \text{active parameters}}

Unlike bandwidth, this ceiling is batch-independent: the weights are read once per decode step regardless of how many requests share them. Batching moves you toward it; nothing moves you past it.

When does the limit shift from memory to compute?

Per request, throughput stops improving when the aggregate bandwidth ceiling reaches the compute ceiling — the break-even batch B*. Below B*, more requests ride along on the same weight reads for free; at B*, the tensor cores saturate; beyond B*, every extra request dilutes everyone's speed. For a dense 32B model on an RTX PRO 6000, B* is around 280; for MoE models with small active parameter counts, B* can be in the thousands. The break-even analyzer computes B* for your exact combination.

Interactive Estimator

LLM inference planner beta

Total parameters drive VRAM capacity; active parameters drive decode speed (MoE only fetches routed experts per token). MLA and hybrid-attention models use compressed KV-cache math.

Capacity check (Single GPU)

Model weights (total)
64 GB
Active weights per token
64 GB
KV cache per token
0.26 MB
Total KV cache (5,120 tok × 1)
1.34 GB
Activations
0.8 GB
Runtime overhead
1.2 GB
Total VRAM needed
67.34 GB
Available VRAM
96 GB
Headroom
28.66 GB
Max batch @ current context
~22
Max context @ batch 1
~114,452 tok

Roofline alignment

  • GPU ops:byte (BF16 (2 B))279.02 ops/byte
  • Base intensity (head_dim/2)64 ops/byte
  • Effective intensity (× batch)64 ops/byte
  • Gap215.02 ops/byte

Memory-bound: raising batch size lifts effective intensity because more tokens share each active-weight fetch.

Latency snapshot

Decode throughput
21 tok/s
Time per token
47.62 ms
Throughput limit
Memory
Time to first token (4,096 tok)
745.96 ms
Total request time
49.51 s
Memory-limited ceiling
21 tok/s
Compute-limited ceiling
5,859.38 tok/s

Decode ≈ min(aggregate bandwidth ÷ per-step bytes, FLOPS(BF16) ÷ 2·active-params, per-layer sync latency). Sync model: 0 sync(s)/layer × PCIe Gen5 x16 latency, scaled by kernel efficiency — TP+EP on PCIe fabrics is sync-bound, not bandwidth-bound.TTFT = max(total weight stream, linear + quadratic attention FLOPs). MoE capacity still needs all 32B params in VRAM.

Economics and reality

Which models fit which hardware?

Fit is a pure capacity question first: total parameters × bytes per parameter must leave room for KV cache. The matrix below shows it live for your chosen precision and GPU count — green means ≥15% headroom, amber means it technically fits but leaves almost no KV budget, red means it doesn't fit. Quantization shifts entire rows: FP8 halves every weight footprint, NVFP4 quarters it.

How expensive is the hardware?

Rule-of-thumb figures (Sept 2026, editable in the calculator): a single RTX PRO 6000 is ~$8.5k street, H100 ~$25k, H200 ~$28k, B200 ~$34k, MI300X ~$12k. A complete 8-GPU server multiplies card cost by roughly 1.8 for the chassis, CPUs, and networking. And the sticker price is only the entry ticket: power (a 700 W H100 at €0.25/kWh is ~$130/mo per card), housing, staff, and the cost of capital roughly double the monthly bill over 36 months of amortization.

How many tokens do you get out of the hardware?

Token yield = throughput at the operating point (the smaller of B* and the VRAM-feasible batch) × wall-clock. An RTX PRO 6000 serving Qwen3-30B-A3B at FP8 at 70% utilization produces on the order of 47 billion tokens per month; a B300 serving a 6B-active MoE produces roughly 5× that. The calculator computes this from the roofline — including the honesty that utilization, not peak throughput, is what most fleets get wrong.

When is cloud cheaper — and when is own hardware cheaper?

Three cost lines matter: cloud rent (per GPU-hour, linear in time), own hardware (mostly fixed per month, linear in tokens), and APIs (pure per-token). The crossover logic:

  • Low, spiky utilization (< ~40%) → cloud wins. You pay only for hours used; owning idle silicon is the most expensive way to serve nothing.
  • Steady high utilization (> ~60%) with a model that fits → own hardware wins by a factor of 3–10 on raw cost per token. A $8.5k card that outperforms a $2.20/h cloud GPU pays for itself in a few months at 24/7.
  • Sporadic workloads, many different models, no ops team → APIs win despite the per-token premium, because the premium buys elasticity and zero operations.
  • Compliance boundaries (ISO 27001, C5, DSGVO) → own hardware or dedicated hosting is often the only option, regardless of price; data must not leave the perimeter.

The calculator computes the crossover utilization and the break-even months for your concrete workload.

Open-weight models vs proprietary APIs

The uncomfortable truth for API vendors: at scale, tokens from open weights are dramatically cheaper. A 96 GB card serving a 30B-class MoE costs a few cents per million tokens in electricity and amortization; GPT-5 mini charges $0.25/$2.00 per million in/out. The table below compares each open-weight model with the proprietary class it realistically competes with — same quality class, not token-identical. Two caveats keep it honest: your time to operate the stack isn't priced in at API rates, and quality-per-token still differs — the comparison tells you what a quality class costs, not that the models are interchangeable.

Economics

LLM inference economics beta

From physics to euros: how memory and compute cap your throughput, which model fits which hardware, what the hardware costs, and when owning beats renting — including the comparison against proprietary API pricing.

Token yield from this hardware

Operating batch size~624
Aggregate decode throughput25,663.79 tok/s
Tokens per month (100% utilization)66,521 M
Tokens per month (at 70% utilization)46,564 M

Operating point: min(B*, VRAM-capable batch), FP8 KV, continuous serving.

Monthly cost of owning

Amortized acquisition (36 mo)$250
Power (0.46 kW avg)$82.08
Housing + staff$100
Other opex$50
Total per month$482.08
Of which capital cost (leasing/interest)$60
Own cost per 1M tokens$0.01

Acquisition amortized over 36 months; capital cost shown separately below.

Which models fit which hardware (FP8 (1 B), 1× GPU)

Model
Qwen3-4B-Instruct4B
Qwen3-14B14B
Qwen3-32B32B
Qwen3-VL-8B-Instruct8B
Qwen3-30B-A3B30.5B~
Qwen3-Next-80B-A3B80B~~~
Qwen3.8-Flash-Next180B~~
Qwen3.8-27B27B~
Qwen3-235B-A22B235B~
Llama 3.3-70B70B~~
gpt-oss-120B-A5B117B~
DeepSeek V3.2-671B-A37B671B
DeepSeek V4-Flash-0731284B
DeepSeek V4.1-Flash748B
GLM-5.2744B
Qwen3.6-35B-A3B35B
Nemotron Nano 9B v28.9B

✓ fits with ≥15% headroom for KV cache · ~ fits but <15% headroom · ✗ exceeds capacity. Click a column header to select that GPU. Weight overhead (3%) included. KV-cache need grows with context and batch — see the planner.

Renting the same GPU in the cloud

Cloud rate$2.2/h
Cloud monthly (24/7)$1,584
Cloud monthly (at 70% utilization)$1,108.8
Cloud cost per 1M tokens$0.02
Own vs cloud per monthOwn is $626.72 cheaper
Cross-over utilization28.15%

RTX PRO 6000 (96 GB) — Smaller clouds / managed hosts. Rates are editable defaults (Sept 2026); reserved/committed pricing is typically 40–60% lower.

API vs own hardware for your workload

Monthly token volume60 M
Gemini 3 Flash API cost per month$85.5
Own hardware needed (23.15 tok/s)1× setup
Own hardware cost per month$482.08
Monthly savings with own hardware— (API cheaper)
Break-even (acquisition paid off)

API list prices, Sept 2026. Open-weight models compete in the same class, not token-identical.

Open-weight vs proprietary API cost per 1M tokens

Open-weight cost = own-hardware cost at 70% utilization, FP8 (1 B) weights, FP8 KV. Assignments are quality-class comparisons (e.g. DeepSeek V3.2 ↔ Claude Opus class), not token-identical substitutes.

Open-weight modelProprietary classAPI in / out ($/Mt)GPU size neededOwn $/MtAPI $/Mt (blended 30% out)Verdict
Qwen3-32BGPT-5 mini0.25 / 21× RTX PRO 60$0.03$0.77own −95.96%
Qwen3-VL-8BGPT-5 mini0.25 / 21× RTX PRO 60$0.01$0.77own −99.17%
Qwen3-14BGPT-5 mini0.25 / 21× RTX PRO 60$0.01$0.77own −98.55%
Qwen3-4BGPT-5 mini0.25 / 21× RTX PRO 60$0$0.77own −99.59%
GLM-5.2 (744B-A40B)GPT-5.21.25 / 108× RTX PRO 60$3.88API −100%
DeepSeek V4.1-Flash (552B-A16B)Claude Sonnet 4.53 / 159× RTX PRO 60$1.62$6.6own −75.44%
DeepSeek V4-Flash (284B-A13B)Gemini 3 Flash0.75 / 34× RTX PRO 60$0.27$1.42own −80.99%
Qwen3.8-Flash-Next (125B-A6B)Gemini 3 Flash0.75 / 32× RTX PRO 60$0.32$1.42own −77.26%
Qwen3.8-27B (dense hybrid)GPT-5 mini0.25 / 21× RTX PRO 60$0.02$0.77own −97.21%
Qwen3.6-35B-A3BGPT-5 mini0.25 / 21× RTX PRO 60$0$0.77own −99.64%
Qwen3-235B-A22BClaude Sonnet 4.53 / 153× RTX PRO 60$0.25$6.6own −96.14%
Llama 3.3-70BClaude Sonnet 4.53 / 151× RTX PRO 60$0.24$6.6own −96.41%
gpt-oss-120B-A5BGPT-5 mini0.25 / 22× RTX PRO 60$0.03$0.77own −96.26%
DeepSeek V3.2 (671B-A37B)Claude Opus 4.55 / 258× RTX PRO 60$0.17$11own −98.44%
Qwen3-Next-80B-A3BGPT-5 mini0.25 / 21× RTX PRO 60$0.04$0.77own −95.11%
Nemotron Nano 9B v2GPT-5 mini0.25 / 21× RTX PRO 60$0.01$0.77own −99.08%
Qwen3-30B-A3BGPT-5 mini0.25 / 21× RTX PRO 60$0.01$0.77own −98.59%

All prices are editable defaults (Sept 2026 street/list ballparks) — adjust to your contract rates. Throughput numbers reuse the same roofline math as the planner and break-even tools; they are theoretical ceilings, and real fleets typically land at 50–80% of them. Serving stack overhead (vLLM/SGLang), networking, and CPU-side preprocessing are not included.

Limitations

  • All throughput numbers are roofline ceilings; real serving stacks achieve 50–80% of them.
  • Prices are editable defaults (Sept 2026 street/list ballparks) — plug in your actual contract rates.
  • The open-vs-proprietary table assigns quality classes; benchmarks move fast, verify against your own evals.
  • Serving-stack overhead (vLLM/SGLang scheduling, CPU preprocessing, networking) is not modeled.