KyperX AI / Tools / LLM infrastructure capacity planner
Free tool · Size private AI infrastructure
Size the GPUs, power and cooling for an LLM deployment.
Measured throughput in, GPUs, power and heat out.
A production sizing worksheet, not another VRAM estimator. It asks for throughput and concurrency measured on the stack you intend to run, because a tool that infers them from a parameter count is inventing the number that matters most. Fill in the model-fit worksheet and the fleet is sized in whole replicas, so it cannot recommend a cluster too small to load the model.
- For
- Whoever has to specify hardware for a deployment
- Time
- About 8 minutes
- You need
- Peak demand, and throughput and concurrency figures measured on the stack you intend to run
- You get
- GPU and server counts, the binding constraint, IT load, facility input, heat and monthly energy
The tool
Enter measured figures.
If you do not have the two measured per-GPU figures yet, that is the finding: obtain them from a benchmark on your own workload or from the supplier in writing, because everything below depends on them.
Throughput and concurrency must be measured on the model, quantisation, serving stack and hardware you intend to use, or supplied by whoever is selling them to you. Nothing on this page infers them.
The input controls on this page need JavaScript. Everything else works without it: the worked example below is computed when the page is built, and the method, tables, limits and questions are plain text.
What you enter stays in this browser. Nothing is sent to KyperX, nothing is written to browser storage, and the copy, CSV and print are assembled from what is already on screen. Reloading clears it.
Method and limits
How it works, and what it does not do.
Open what you need. None of it is required to use the tool.
A worked example, computed when this page was built
Round synthetic figures chosen to make the arithmetic legible. They are not a benchmark, not a measurement of any product, and not drawn from any deployment. The model-fit worksheet is left at zero to show what the page does when it is skipped.
- Peak requests — 420 a minute
- Average output tokens — 380 per request
- Required peak concurrent sequences — 900 sequences
- Measured sustainable output throughput — 640 tokens a second per GPU
- Planning utilisation ceiling — 70 %
- Measured concurrent sequences — 48 sequences per GPU
- GPUs per server — 8 GPUs
- Reserve GPUs — 4 GPUs
- GPU planning power — 700 W each
- Other server power — 1400 W per server
- Storage, network and management — 3.5 kW
- Power usage effectiveness — 1.35 PUE
- Average load factor — 55 %
- Electricity price — 0.21 per kWh
- Measured model footprint — 160 GiB
- Usable VRAM per GPU — 76 GiB
- Parameters, for the weights-only estimate — 70 billions
- Bits per parameter — 16
- Currency — AUD
- Required output throughput
- 2,660.0
- tokens a second
- GPUs by throughput
- 6
- GPUs
- GPUs by concurrency
- 19
- GPUs
- Active GPUs
- 21
- GPUs
- Replicas
- 7
- model copies
- Binding constraint
- Model fit
- which of throughput, concurrency and model fit sets the number
- Planned GPUs
- 25
- GPUs
- Servers
- 4
- servers
- IT electrical load
- 26.60
- kW
- Facility input power
- 35.91
- kW
- IT heat rejection
- 90,763
- BTU an hour
- GPUs per replica
- 3
- GPUs
| Figure | Value | What it is |
|---|---|---|
| Required output throughput | 2,660.0 tokens a second | peak requests a minute × output tokens ÷ 60 |
| Planned throughput per GPU | 448.0 tokens a second | measured throughput × utilisation ceiling |
| GPUs by throughput | 6 GPUs | rounded up |
| GPUs by concurrency | 19 GPUs | rounded up |
| Active GPUs | 21 GPUs | the larger of the two, then rounded up to a whole number of replicas where the model-fit worksheet is filled in |
| Replicas | 7 model copies | active GPUs ÷ GPUs per replica; one where the worksheet is skipped |
| Binding constraint | Model fit | which of throughput, concurrency and model fit sets the number |
| Headroom on the slack constraint | 71.4% | how much spare capacity the non-binding constraint has at the active GPU count |
| Planned GPUs | 25 GPUs | active plus the reserve you chose |
| Servers | 4 servers | planned GPUs ÷ GPUs per server, rounded up |
| Spare GPU slots | 7 slots | unused capacity in the last server |
| GPU power | 17.50 kW | planned GPUs × planning watts, because installed hardware draws power |
| Server overhead power | 5.60 kW | servers × other server watts |
| IT electrical load | 26.60 kW | GPUs + server overhead + storage, network and management |
| Facility input power | 35.91 kW | IT load × PUE |
| IT heat rejection | 90,763 BTU an hour | IT kW × 3,412.142 |
| Nominal refrigeration | 7.56 tons | heat ÷ 12,000 — a nominal figure, not a cooling design |
| Monthly energy | 14,418 kWh | IT kW × PUE × load factor × 730 |
| Monthly energy cost | AUD 3,028 a month | at the price you entered |
| GPUs per replica | 3 GPUs | measured footprint ÷ usable VRAM per GPU, rounded up. One replica cannot span fewer GPUs than this, so it sets the smallest fleet that can load the model |
| Weights only | 130.39 GiB | parameters × bits ÷ 8, converted from bytes to GiB. Weights alone: no KV cache, no activations, no runtime overhead |
| Replica topology | A replica fits inside one server | whether a replica fits inside one server |
Assumptions register
Every figure below is one the reader supplied, not one this page chose. They travel with the result so a reviewer can argue with them.
- Planning utilisation ceiling — 70 %
- Reserve GPUs — 4 GPUs
- GPU planning power — 700 W each
- Power usage effectiveness — 1.35 PUE
- Average load factor — 55 %
- Bits per parameter — 16
Information gaps
- The reserve you selected is not a whole number of replicas, so part of it cannot serve traffic on its own.
How it works, rule by rule
| Figure | How it is calculated |
|---|---|
| Required output throughput | peak requests a minute × output tokens per request ÷ 60 |
| GPUs by throughput | ceiling( required throughput ÷ (measured sustainable throughput per GPU × utilisation ceiling) ) |
| GPUs by concurrency | ceiling( required peak concurrent sequences ÷ measured concurrent sequences per GPU ) |
| GPUs per replica (model-fit worksheet) | ceiling( measured model footprint ÷ usable VRAM per GPU ) |
| Active GPUs | the larger of GPUs by throughput and GPUs by concurrency, then rounded up to a whole multiple of GPUs per replica, and never fewer than one replica |
| Replicas | active GPUs ÷ GPUs per replica |
| Planned GPUs | active GPUs + reserve GPUs you selected |
| Servers | ceiling( planned GPUs ÷ GPUs per server ) |
| IT electrical load | planned GPUs × GPU planning watts + servers × other server watts + storage, network and management kW |
| Facility input power | IT load × PUE |
| IT heat rejection | IT kW × 3,412.142 BTU an hour |
| Nominal refrigeration tons | IT heat ÷ 12,000 |
| Monthly energy | IT kW × PUE × average load factor × 730 hours |
| Weights only (optional) | parameters × bits ÷ 8 bytes, ÷ 1,073,741,824 to GiB |
Two constraints, and why the binding one matters
Throughput asks whether the fleet can generate tokens fast enough in aggregate: peak requests a minute times output tokens per request, divided by sixty, against measured sustainable tokens per second per GPU derated to your planning ceiling. Concurrency asks whether it can hold enough sequences in flight at once at your context length. These are different limits and either can bind.
Knowing which one binds tells you what to change. If throughput binds, faster serving, a smaller model or shorter outputs help. If concurrency binds, more memory per GPU, a shorter context or admission control help, and buying faster accelerators may not. The tool reports the binding constraint and the headroom on the other one, so a sizing that is two GPUs away from flipping is visible rather than hidden.
The planning utilisation ceiling exists because measured peak is not a sustainable operating point. Planning at the measured ceiling leaves nothing for variance, retries, a degraded node or a longer prompt than the benchmark used. The ceiling is your decision and the tool applies it rather than choosing it.
GPU power is calculated on planned GPUs, including the reserve. Installed hardware draws power whether it is serving or waiting, and electrical supply has to be sized for what is installed. The IT load line is therefore the figure to give to an electrical engineer, and the facility input is that figure times PUE.
Heat follows load. IT kilowatts times 3,412.142 gives BTU an hour; dividing by 12,000 gives a nominal refrigeration tonnage. Nominal is doing real work in that sentence: it is a unit conversion, not a cooling design, and it accounts for nothing about airflow, containment, redundancy, ambient conditions or the difference between sensible and latent load.
The optional model-fit worksheet
Fitting a replica is a separate question from serving the load, and it can raise the GPU count above what throughput and concurrency require. The worksheet takes a measured resident footprint for one replica at your context length and batch size, and your usable VRAM per GPU — usable, not nameplate, because the driver, the runtime and fragmentation take a share.
If you also enter a parameter count, the tool reports a weights-only figure: parameters times bits per parameter divided by eight, converted from bytes to GiB. That figure is weights alone. It excludes the KV cache, which grows with context length and batch size and frequently exceeds the weights; it excludes activations; and it excludes runtime overhead. It is included because people ask for it, and it is labelled every time it appears because using it as a memory requirement is the most common sizing error in this field.
Every input, and how to use it
| Input | Unit | What it means |
|---|---|---|
| Peak requests | a minute | The busiest minute you are designing for, not the average. |
| Average output tokens | per request | Generated tokens per request. Output tokens set the throughput requirement; input tokens set prefill, which is sized separately. |
| Required peak concurrent sequences | sequences | How many requests are in flight at once at peak. Usually arrival rate × average time in the system. |
| Measured sustainable output throughput | tokens a second per GPU | Measured under a load that looks like yours, sustained rather than peak. This is the input people guess; do not. |
| Planning utilisation ceiling | % | The share of measured throughput you are willing to plan against. Serving at the measured ceiling leaves no room for variance. |
| Measured concurrent sequences | sequences per GPU | How many sequences one GPU holds at your context length before throughput collapses or requests queue. |
| GPUs per server | GPUs | As configured by the platform you are buying. |
| Reserve GPUs | GPUs | Your own N+ decision, for failure and maintenance. The tool does not choose a redundancy level for you. |
| GPU planning power | W each | The figure you are designing the electrical supply to, usually the board power limit. |
| Other server power | W per server | CPUs, memory, fans, NICs and power-supply losses, excluding the GPUs. |
| Storage, network and management | kW | Everything else inside the IT boundary: storage, switching, control plane. |
| Power usage effectiveness | PUE | Facility input divided by IT load, for the site you will actually use. |
| Average load factor | % | Average draw against the planning load across a month. Energy, not sizing, depends on this. |
| Electricity price | per kWh | Delivered price in your currency. Used only for the monthly energy line. |
| Measured model footprint | GiB | Measured resident memory for one replica at your context length and batch size: weights, KV cache, activations and runtime together. Enter this and the usable VRAM below and the fleet is sized in whole replicas. |
| Usable VRAM per GPU | GiB | Usable, not nameplate: subtract what the driver, runtime and fragmentation take. With the footprint above, this sets how many GPUs one replica needs. |
| Parameters, for the weights-only estimate | billions | Optional. Produces a weights-only figure that excludes KV cache, activations and runtime overhead. |
| Bits per parameter | — | For the weights-only estimate only. |
| Currency | — | Used only for the monthly energy line. Leave blank if you are not costing energy here. |
Getting the two measured figures
- Benchmark the stack you will run, not a similar one. Sustained output tokens per second per GPU depends on the model, the quantisation, the serving framework, batching strategy, context length and the accelerator. Changing any one of them changes the number materially.
- Measure sustained, not burst. Run long enough for thermal behaviour, memory fragmentation and scheduler effects to appear. A thirty-second benchmark overstates what a fleet does for a month.
- Use your own prompt and output lengths. A benchmark with 200-token prompts tells you little about a workload with 4,000-token retrieved context.
- Find the concurrency point where it degrades, not where it fits. Sequences per GPU should be the level at which latency stays acceptable, not the level at which memory has not yet run out.
- Ask a supplier in writing, and ask what configuration produced it. A quoted throughput figure without the model, quantisation, context length, batch size and serving stack attached is not usable for planning.
- Re-measure after any change. A model upgrade, a serving-framework upgrade or a context-length increase invalidates the sizing.
What this does not do
- It is not an electrical or mechanical design. Final electrical distribution, protection, redundancy, cooling, containment, airflow and floor loading require qualified engineering review. The IT load and facility input figures are an input to that work, not a substitute for it.
- The refrigeration tonnage is a unit conversion. It accounts for nothing about sensible and latent load, ambient conditions, redundancy or the cooling approach.
- It sizes for the peak you enter. It does not model the arrival distribution, queueing behaviour, tail latency or what happens above the peak. Requests above capacity queue or fail, and which of those it is depends on the serving stack, not on this page.
- It sizes decode throughput, not prefill. Output tokens set the throughput requirement. Long input contexts create a prefill load that is sized separately and can dominate with short outputs and large retrieved contexts.
- It assumes uniform GPUs. One accelerator type, one measured figure, one planning ceiling. Mixed fleets need per-pool arithmetic.
- It does not handle networking or storage design. Interconnect bandwidth between accelerators and servers can be the real constraint for larger models, and it is not modelled.
- The weights-only figure is weights only. No KV cache, no activations, no runtime overhead. It is not a memory requirement.
- It costs nothing. Cost is the companion calculator.
This page is general information and a planning worksheet. It is not engineering advice and it is not a design. Final electrical and cooling design for any deployment requires review by qualified engineers against the applicable standards and the conditions of the actual site. Every figure it produces is arithmetic on values you entered; none is a benchmark, a measurement of any product, or a performance figure attributable to KyperX.
Terms used here
- Output tokens per second per GPU — sustained generation throughput, measured on your model, quantisation, serving stack and hardware. The most important input here and the one most often guessed.
- Concurrent sequences — requests held in flight at once. Limited mainly by memory at your context length.
- Planning utilisation ceiling — the share of measured throughput you are willing to design against, leaving headroom for variance.
- Binding constraint — whichever of throughput and concurrency demands more GPUs. It determines what a change would have to alter to help.
- IT load — electrical draw of the equipment: accelerators, servers, storage, network and management.
- PUE — facility input power divided by IT load.
- KV cache — per-sequence attention state held during generation. Grows with context length and batch size, and is excluded from any weights-only figure.
- Usable VRAM — accelerator memory actually available to the model after the driver, runtime and fragmentation, which is below the nameplate figure.
Common questions
How many GPUs do I need to serve an LLM?
Take the larger of two numbers. First, required output throughput — peak requests a minute times output tokens per request divided by sixty — divided by measured sustainable tokens per second per GPU derated to your planning ceiling. Second, required peak concurrent sequences divided by measured sequences per GPU. Add the reserve you have chosen for failure and maintenance. Both measured figures have to come from a benchmark on your own stack; a parameter count cannot produce them.
How much power and cooling does an AI cluster need?
IT load is planned GPUs times their planning watts, plus server overhead per server, plus storage, network and management. Facility input is that times the site's PUE. Heat rejection is the IT kilowatts times 3,412.142 BTU an hour, and dividing by 12,000 gives a nominal refrigeration tonnage. The word nominal matters: it is a unit conversion and not a cooling design, which needs a qualified engineer.
Why does this tool refuse to estimate throughput from the model size?
Because throughput depends on the serving framework, batching strategy, quantisation, context length and accelerator at least as much as on parameter count, and a tool that guessed would produce a confident number with no basis. Requiring the measurement is the difference between a sizing worksheet and a novelty calculator.
How much VRAM does a model need?
More than its weights, and how much more depends on your context length and batch size. Weights are parameters times bits per parameter divided by eight. The KV cache, activations and runtime overhead sit on top, and the cache frequently exceeds the weights at long context. That is why the worksheet here asks for a measured resident footprint and labels any weights-only figure as weights only every time it appears.
What is the difference between throughput-bound and concurrency-bound?
Throughput-bound means the fleet cannot generate tokens fast enough in aggregate: a faster stack, a smaller model or shorter outputs help. Concurrency-bound means it cannot hold enough sequences at once: more memory per GPU, a shorter context or admission control help, and faster accelerators may not. Knowing which one binds is the difference between a purchase that fixes the problem and one that does not.
Should the reserve GPUs be counted in the power figure?
Yes, and this tool does. Installed hardware draws power whether it is serving or held for failover, and the electrical supply has to be sized for what is installed rather than for what is busy.
Is this enough to order hardware?
It is enough to have a serious conversation about it, and enough to see which constraint is driving the count. It is not an electrical or mechanical design, it does not model queueing or tail latency, and it does not size prefill or interconnect. Those are engineering work.
- Compare running your own model against paying per tokenOwned against hosted on your own figures, with the cash view kept separate from the annualised one.
- Find out where this is allowed to runSix deployment patterns, screened against your own constraints by rules printed on the page.
- Generate the requirements and questions for an AI purchaseSeparate what a supplier must satisfy from what you would prefer, before anyone writes a response.