LLMScalelive Hugging Face data

Capacity plan — how many GPUs a load needs to meet its latency targets

Describe the load: how many requests arrive, how long their prompts and replies are, and how fast they must be answered. LLMScale works out how many vLLM replicas are needed and how many GPUs each one runs on.

1

Choose a model

built-in DBgatedllama8.03B params·32L · 4096d · 32/8 headsGQA
2

Load

ⓘRequests arriving every second, across all copies of the model.across the whole deployment
About 60 requests a minute, 86,000 a day.About 120 requests a minute, 173,000 a day.About 300 requests a minute, 432,000 a day.About 600 requests a minute, 864,000 a day.About 1,200 requests a minute, 1,728,000 a day.About 3,000 requests a minute, 4,320,000 a day.About 6,000 requests a minute, 8,640,000 a day.
ⓘThe longest request vLLM accepts, prompt and reply together.--max-model-len
tok
≈ 3,100 words, about 6 pages. Enough for a short chat or a single page.≈ 6,100 words, about 12 pages. A long conversation, or a report with its question.≈ 12,300 words, about 25 pages. A long conversation, or a report with its question.≈ 24,600 words, about 49 pages. A long document, or a set of source files.≈ 49,200 words, about 98 pages. A long document, or a set of source files.≈ 98,300 words, about 197 pages. A book, or a whole codebase in one request. This model's maximum.
ⓘThe average number of tokens a request sends.
tok
≈ 380 words. A chat turn with some history.≈ 750 words, about 2 pages. A chat turn with some history.≈ 1,500 words, about 3 pages. A question with retrieved passages, or a long conversation.≈ 3,000 words, about 6 pages. A question with retrieved passages, or a long conversation.≈ 6,000 words, about 12 pages. A long document or a set of files.≈ 12,000 words, about 24 pages. A long document or a set of files.
ⓘThe average number of tokens a request gets back.
tok
≈ 48 words. A short answer or a tool call.≈ 96 words. A short answer or a tool call.≈ 190 words. A typical chat reply.≈ 380 words. A typical chat reply.≈ 750 words, about 2 pages. A long reply: an article, a report or code.≈ 3,000 words, about 6 pages. A thinking model's reply, reasoning included.
ⓘTokens at the start of every prompt that are the same for all requests, such as a system prompt. They are cached once.cached once, not recomputed
tok
Nothing every prompt shares.≈ 190 words. A short shared instruction.≈ 380 words. A system prompt.≈ 750 words, about 2 pages. A system prompt.≈ 1,500 words, about 3 pages. A long system prompt with tool schemas or examples.
3

Latency targets

ⓘHow long a user may wait for the first token after sending a request.TTFT
s
Feels instant, as code completion in an editor needs.What chat products aim for.Acceptable for RAG, agents and long prompts.Acceptable for RAG, agents and long prompts.For long documents, where reading the prompt takes time.
ⓘHow long each further token may take; it sets how fast the reply streams.TPOT · 20 tok/s per user
ms
50 tokens a second per user, about 2,250 words a minute. Faster than anyone reads: for agents and code consumed by another program.33 tokens a second per user, about 1,500 words a minute. Comfortably faster than reading: the usual chat target.25 tokens a second per user, about 1,130 words a minute. Comfortably faster than reading: the usual chat target.20 tokens a second per user, about 900 words a minute. Comfortably faster than reading: the usual chat target.10 tokens a second per user, about 450 words a minute. About a fast reader's pace.
4

Hardware

What it takes

1 × H100 SXM 80GB
1 × vLLM, each on one GPU, carrying up to 11.1 req/s each
limited by time per token
Time to first token
103 ms
target 1.0 s
Time per output token
30.7 ms
target 50 ms
Sequences in decode
79
per replica, at its share of the load
KV cache room
214
sequences at the average size
Open the vLLM command for one replica (1 GPU)
Layouts, cheapest first
LayoutReplicasGPUreq/s eachLimit
1 GPU1111.1limited by time per token
TP 21223.1limited by time per token
PP 21222.3limited by time per token
PP 31332.2limited by time per token
TP 41447.5limited by time per token
TP 2 · PP 21446.2limited by time per token
PP 41444.5limited by time per token
PP 51550.1limited by time per token

A planning model for steady traffic at average lengths, without spikes. Reading prompts takes a share of each replica's time and stretches decode by the same factor; the number of sequences in decode follows Little's law. Speeds are constrained by memory bandwidth at 92% of the vendor's peak and dense tensor throughput at 90% on GeForce cards (measured) or 60% on other cards (estimated), plus a fixed cost per layer for every step, two all-reduces per layer across a tensor-parallel group, and about 6 ms per request before its first token. Pipeline stages each run a batch, at the speed as many replicas would have; their handovers and expert parallelism's dispatch are costed like all-reduces, an estimate not yet measured; on one NVIDIA GPU this lands within about 10–15% of vLLM 0.31 measurements. Memory usage comes from vLLM's own accounting. Leave headroom for bursts. On Strix Halo the per-layer cost and tensor throughput are measured (vLLM ROCm), but more than four sequences and short prompts run up to 3× slower; on other AMD, Apple and unified-memory devices, and for MoE prompt reading, speeds remain upper bounds.

How the plan is worked out

One replica is a vLLM instance laid out as the VRAM calculator lays one out: one GPU, a tensor-parallel group, pipeline stages of such groups, or for a MoE data-parallel ranks with its experts spread over them. At a given request rate, it spends part of its time reading prompts. The prompt time is the prompt's FLOPs divided by the attainable dense tensor throughput of the GPU (90% of the peak on GeForce cards, measured; 60% on other cards, estimated), or the time required to read the weights once if that is longer. The rest of its time goes to decode steps, so prompt and decode times stretch by the same factor. The step time at a given batch size comes from the decode model: the longer of the time required to read the weights and KV cache and the time required for the matrix multiplications. The planner finds the highest rate that keeps the time to first token, the time per output token and the KV cache within bounds, and divides the load by it.

  • prefill share f = requests per second per replica × prefill time
  • time per output token = decode step at the batch ÷ (1 − f)
  • sequences in decode = requests per second × output tokens × time per output token
  • GPUs = ⌈requests per second ÷ one replica's capacity⌉ × GPUs in a replica

It tries every such layout on up to 8 GPUs that one request at the max context fits, and on the calculator's fewest when the model needs more, and lists them cheapest first. Pipeline stages each run a batch, so a replica of them is as fast as that many replicas of one stage would be; they are what makes a model fit that a tensor-parallel group cannot hold. A shared prefix is cached once and not recomputed. Arrivals are assumed to be steady, and prompt and output lengths are represented by their averages, so real traffic with bursts and long tails needs additional headroom.

Questions

Why can a model that fits one GPU need several?
Memory says whether a model runs; the load says how many copies it takes. Every request first has its prompt read, which is compute-bound, and then holds a slot in every decode step until its reply ends. Llama 3.1 8B fits one H100 with room to spare, yet at 2,048-token prompts and 256-token replies with a 50 ms per-token target one H100 carries about 10 requests a second, so 15 a second take two.
Why does tensor parallelism sometimes cost no more GPUs?
Splitting a model across GPUs splits the weights each step reads and the work each prompt needs, so each step is shorter and each prompt is read sooner. When a latency target is what limits a replica, two GPUs as one replica can carry more than twice what one does; when the KV cache or raw throughput limits it, separate replicas are as good and simpler.
How far can I trust the figures?
They are first-order. Memory comes from vLLM's own accounting, checked against real startups. The speeds use vendor peaks with stated efficiencies, and the queueing model assumes steady arrivals. Treat the GPU count as the floor for your average load and add 20 to 30% for bursts, then confirm with a benchmark on one replica.