Speed test matrix
gemma-4-12B-it-int8-AutoRound on H200 NVL 141GB
vllm · 0.26.1rc1.dev638+g52be12cfa · INT85 contexts (8K–123K) × 8 concurrency levels (1–128) · prefill at 8K, 16K, 32K, 64K, 123K, 128K
Hardware
- Type
- Discrete GPU
- GPU
- H200 NVL
- VRAM
- 141 GB
- OS
- linux
Engine
- Engine
- vllm
- Version
- 0.26.1rc1.dev638+g52be12cfa
- Quantization
- INT8
- Backend
- cuda
- Repository
- github.com/vllm-project/vllm
- Build
- cuda-13.2
- Commit
52be12cfac0c
Run
- Served model
- gemma
- Revision
- main
- Benchmark tool
- llm-inference-bench v0.4.29
- Decode test
- Fixed duration
- Prefill mode
- Measured during decode warm-up
- Time per measurement
- 30 s
- Max output
- 4,096 tokens
Launch command
"$HOME/env_h200-intel-vllm/bin/vllm" serve Intel/gemma-4-12B-it-int8-AutoRound --served-model-name gemma --trust-remote-code --tensor-parallel-size 1 --reasoning-parser gemma4 --enable-auto-tool-choice --tool-call-parser gemma4 --max-model-len 131072 --gpu-memory-utilization 0.851642 --host 0.0.0.0 --port 8000 --api-key <redacted>
Prefill
prompt tok/s by context length8K context17.9K458 ms TTFT
16K context16.8K969 ms TTFT
32K context15.4K2,097 ms TTFT
64K context12.7K5,091 ms TTFT
123K context9,40913,175 ms TTFT
128K context9,33713,815 ms TTFT
Sustained decode
total tok/s · rows are context length, columns are simultaneous requests| Context | 1 | 2 | 4 | 8 | 16 | 32 | 64 | 128 |
|---|---|---|---|---|---|---|---|---|
| 8K | 111.162 ms TTFT | 218.667 ms TTFT | 424.6120 ms TTFT | 792.8174 ms TTFT | 1,437.5257 ms TTFT | 2,238.2414 ms TTFT | 3,200.5629 ms TTFT | 4,085.81,039 ms TTFT |
| 16K | 110.494 ms TTFT | 216.2128 ms TTFT | 420.6191 ms TTFT | 778.9258 ms TTFT | 1,389.3385 ms TTFT | 2,111.9587 ms TTFT | 2,942.6958 ms TTFT | Over capacity |
| 32K | 109.2151 ms TTFT | 213.1190 ms TTFT | 409.8222 ms TTFT | 741.1438 ms TTFT | 1,281.9620 ms TTFT | 1,866.21,021 ms TTFT | Over capacity | Over capacity |
| 64K | 107.3223 ms TTFT | 207.9306 ms TTFT | 391.4397 ms TTFT | 684.3697 ms TTFT | 1,123.41,210 ms TTFT | Over capacity | Over capacity | Over capacity |
| 123K | 104.1447 ms TTFT | 199.3608 ms TTFT | 361.3914 ms TTFT | 602.21,500 ms TTFT | Over capacity | Over capacity | Over capacity | Over capacity |
Over capacity: not run because this many requests at this context would exceed the server's KV cache.
TTFT is measured after the benchmark warms the server's prompt cache, so it mostly excludes prefill.
All measurements
Latencies are medians. Total tok/s is output across all simultaneous requests.| Phase | Context | Requests at once | Status | Total tok/s | Per request tok/s | TTFT | Time between tokens | Average active requests | Completed requests | Output tokens | Measured for |
|---|---|---|---|---|---|---|---|---|---|---|---|
| Prefill | 8K | 1 | Valid | 17.9K | — | 458 ms | — | — | 1 | — | — |
| Prefill | 16K | 1 | Valid | 16.8K | — | 969 ms | — | — | 1 | — | — |
| Prefill | 32K | 1 | Valid | 15.4K | — | 2,097 ms | — | — | 1 | — | — |
| Prefill | 64K | 1 | Valid | 12.7K | — | 5,091 ms | — | — | 1 | — | — |
| Prefill | 123K | 1 | Valid | 9,409.0 | — | 13,175 ms | — | — | 1 | — | — |
| Prefill | 128K | 1 | Valid | 9,337.0 | — | 13,815 ms | — | — | 1 | — | — |
| Sustained decode | 8K | 1 | Valid | 111.1 | 111.2 | 62 ms | 9.0 ms | 1.0 | 0 | 3,334 | 30.0 s |
| Sustained decode | 8K | 2 | Valid | 218.6 | 109.4 | 67 ms | 9.1 ms | 2.0 | 0 | 6,558 | 30.0 s |
| Sustained decode | 8K | 4 | Valid | 424.6 | 106.3 | 120 ms | 9.4 ms | 4.0 | 0 | 12,736 | 30.0 s |
| Sustained decode | 8K | 8 | Valid | 792.8 | 99.4 | 174 ms | 10.1 ms | 8.0 | 0 | 23,784 | 30.0 s |
| Sustained decode | 8K | 16 | Valid | 1,437.5 | 90.2 | 257 ms | 11.1 ms | 16.0 | 0 | 43,121 | 30.0 s |
| Sustained decode | 8K | 32 | Valid | 2,238.2 | 70.1 | 414 ms | 14.3 ms | 32.0 | 0 | 67,135 | 30.0 s |
| Sustained decode | 8K | 64 | Valid | 3,200.5 | 50.2 | 629 ms | 19.9 ms | 64.0 | 0 | 96,005 | 30.0 s |
| Sustained decode | 8K | 128 | Valid | 4,085.8 | 32.2 | 1,039 ms | 31.1 ms | 128.0 | 0 | 122,525 | 30.0 s |
| Sustained decode | 16K | 1 | Valid | 110.4 | 110.5 | 94 ms | 9.1 ms | 1.0 | 0 | 3,312 | 30.0 s |
| Sustained decode | 16K | 2 | Valid | 216.2 | 108.0 | 128 ms | 9.3 ms | 2.0 | 0 | 6,488 | 30.0 s |
| Sustained decode | 16K | 4 | Valid | 420.6 | 105.4 | 191 ms | 9.5 ms | 4.0 | 0 | 12,624 | 30.0 s |
| Sustained decode | 16K | 8 | Valid | 778.9 | 97.7 | 258 ms | 10.2 ms | 8.0 | 0 | 23,369 | 30.0 s |
| Sustained decode | 16K | 16 | Valid | 1,389.3 | 87.1 | 385 ms | 11.5 ms | 16.0 | 0 | 41,681 | 30.0 s |
| Sustained decode | 16K | 32 | Valid | 2,111.9 | 66.2 | 587 ms | 15.1 ms | 32.0 | 0 | 63,362 | 30.0 s |
| Sustained decode | 16K | 64 | Valid | 2,942.6 | 46.1 | 958 ms | 21.7 ms | 64.0 | 0 | 88,257 | 30.0 s |
| Sustained decode | 16K | 128 | Over capacity | — | — | — | — | — | — | — | — |
| Sustained decode | 32K | 1 | Valid | 109.2 | 109.4 | 151 ms | 9.1 ms | 1.0 | 0 | 3,277 | 30.0 s |
| Sustained decode | 32K | 2 | Valid | 213.1 | 106.7 | 190 ms | 9.4 ms | 2.0 | 0 | 6,392 | 30.0 s |
| Sustained decode | 32K | 4 | Valid | 409.8 | 102.6 | 222 ms | 9.7 ms | 4.0 | 0 | 12,292 | 30.0 s |
| Sustained decode | 32K | 8 | Valid | 741.1 | 92.9 | 438 ms | 10.8 ms | 8.0 | 0 | 22,232 | 30.0 s |
| Sustained decode | 32K | 16 | Valid | 1,281.9 | 80.0 | 620 ms | 12.5 ms | 16.0 | 0 | 38,448 | 30.0 s |
| Sustained decode | 32K | 32 | Valid | 1,866.2 | 58.0 | 1,021 ms | 17.2 ms | 32.0 | 0 | 55,969 | 30.0 s |
| Sustained decode | 32K | 64 | Over capacity | — | — | — | — | — | — | — | — |
| Sustained decode | 32K | 128 | Over capacity | — | — | — | — | — | — | — | — |
| Sustained decode | 64K | 1 | Valid | 107.3 | 107.5 | 223 ms | 9.3 ms | 1.0 | 0 | 3,218 | 30.0 s |
| Sustained decode | 64K | 2 | Valid | 207.9 | 104.0 | 306 ms | 9.6 ms | 2.0 | 0 | 6,234 | 30.0 s |
| Sustained decode | 64K | 4 | Valid | 391.4 | 97.9 | 397 ms | 10.2 ms | 4.0 | 0 | 11,748 | 30.0 s |
| Sustained decode | 64K | 8 | Valid | 684.3 | 85.4 | 697 ms | 11.7 ms | 8.0 | 0 | 20,528 | 30.0 s |
| Sustained decode | 64K | 16 | Valid | 1,123.4 | 69.7 | 1,210 ms | 14.3 ms | 16.0 | 0 | 33,696 | 30.0 s |
| Sustained decode | 64K | 32 | Over capacity | — | — | — | — | — | — | — | — |
| Sustained decode | 64K | 64 | Over capacity | — | — | — | — | — | — | — | — |
| Sustained decode | 64K | 128 | Over capacity | — | — | — | — | — | — | — | — |
| Sustained decode | 123K | 1 | Valid | 104.1 | 104.4 | 447 ms | 9.6 ms | 1.0 | 0 | 3,124 | 30.0 s |
| Sustained decode | 123K | 2 | Valid | 199.3 | 99.9 | 608 ms | 10.0 ms | 2.0 | 0 | 5,982 | 30.0 s |
| Sustained decode | 123K | 4 | Valid | 361.3 | 90.4 | 914 ms | 11.1 ms | 4.0 | 0 | 10,844 | 30.0 s |
| Sustained decode | 123K | 8 | Valid | 602.2 | 74.9 | 1,500 ms | 13.4 ms | 8.0 | 0 | 18,064 | 30.0 s |
| Sustained decode | 123K | 16 | Over capacity | — | — | — | — | — | — | — | — |
| Sustained decode | 123K | 32 | Over capacity | — | — | — | — | — | — | — | — |
| Sustained decode | 123K | 64 | Over capacity | — | — | — | — | — | — | — | — |
| Sustained decode | 123K | 128 | Over capacity | — | — | — | — | — | — | — | — |
Over capacity: not run because this many requests at this context would exceed the server's KV cache.
