Speed test matrix
gemma-4-31B-it-int4-AutoRound-V2 on H200 NVL 141GB
vllm · 0.26.1rc1.dev638+g52be12cfa · INT4+BF166 contexts (8K–251K) × 8 concurrency levels (1–128) · prefill at 8K, 16K, 32K, 64K, 128K, 251K, 256K
Hardware
- Type
- Discrete GPU
- GPU
- H200 NVL
- VRAM
- 141 GB
- OS
- linux
Engine
- Engine
- vllm
- Version
- 0.26.1rc1.dev638+g52be12cfa
- Quantization
- INT4+BF16
- 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-31B-it-int4-AutoRound-V2 --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 262144 --gpu-memory-utilization 0.850342 --host 0.0.0.0 --port 8000 --api-key <redacted>
Prefill
prompt tok/s by context length8K context7,9661,030 ms TTFT
16K context7,4082,195 ms TTFT
32K context6,5314,956 ms TTFT
64K context5,24812,304 ms TTFT
128K context3,71634,712 ms TTFT
251K context2,438103,668 ms TTFT
256K context2,410106,993 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 | 75.855 ms TTFT | 147.675 ms TTFT | 278.6153 ms TTFT | 503.9199 ms TTFT | 834.8260 ms TTFT | 1,219.6380 ms TTFT | Over capacity | Over capacity |
| 16K | 74.7110 ms TTFT | 143.7130 ms TTFT | 266.7204 ms TTFT | 468.8244 ms TTFT | 745.5398 ms TTFT | Over capacity | Over capacity | Over capacity |
| 32K | 72.8152 ms TTFT | 136.9198 ms TTFT | 245.9266 ms TTFT | 411.6443 ms TTFT | 612.1582 ms TTFT | Over capacity | Over capacity | Over capacity |
| 64K | 69.2221 ms TTFT | 124.8303 ms TTFT | 212.8442 ms TTFT | 329.4728 ms TTFT | Over capacity | Over capacity | Over capacity | Over capacity |
| 128K | 63.0445 ms TTFT | 105.1596 ms TTFT | 167.4925 ms TTFT | Over capacity | Over capacity | Over capacity | Over capacity | Over capacity |
| 251K | 53.6987 ms TTFT | 82.01,354 ms TTFT | Over capacity | Over capacity | 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 | 7,966.0 | — | 1,030 ms | — | — | 1 | — | — |
| Prefill | 16K | 1 | Valid | 7,408.0 | — | 2,195 ms | — | — | 1 | — | — |
| Prefill | 32K | 1 | Valid | 6,531.0 | — | 4,956 ms | — | — | 1 | — | — |
| Prefill | 64K | 1 | Valid | 5,248.0 | — | 12,304 ms | — | — | 1 | — | — |
| Prefill | 128K | 1 | Valid | 3,716.0 | — | 34,712 ms | — | — | 1 | — | — |
| Prefill | 251K | 1 | Valid | 2,438.0 | — | 103,668 ms | — | — | 1 | — | — |
| Prefill | 256K | 1 | Valid | 2,410.0 | — | 106,993 ms | — | — | 1 | — | — |
| Sustained decode | 8K | 1 | Valid | 75.8 | 75.9 | 55 ms | 13.2 ms | 1.0 | 0 | 2,274 | 30.0 s |
| Sustained decode | 8K | 2 | Valid | 147.6 | 73.8 | 75 ms | 13.5 ms | 2.0 | 0 | 4,428 | 30.0 s |
| Sustained decode | 8K | 4 | Valid | 278.6 | 69.9 | 153 ms | 14.3 ms | 4.0 | 0 | 8,357 | 30.0 s |
| Sustained decode | 8K | 8 | Valid | 503.9 | 63.3 | 199 ms | 15.8 ms | 8.0 | 0 | 15,119 | 30.0 s |
| Sustained decode | 8K | 16 | Valid | 834.8 | 52.4 | 260 ms | 19.1 ms | 16.0 | 0 | 25,044 | 30.0 s |
| Sustained decode | 8K | 32 | Valid | 1,219.6 | 38.3 | 380 ms | 26.1 ms | 32.0 | 0 | 36,565 | 30.0 s |
| Sustained decode | 8K | 64 | Over capacity | — | — | — | — | — | — | — | — |
| Sustained decode | 8K | 128 | Over capacity | — | — | — | — | — | — | — | — |
| Sustained decode | 16K | 1 | Valid | 74.7 | 74.8 | 110 ms | 13.4 ms | 1.0 | 0 | 2,240 | 30.0 s |
| Sustained decode | 16K | 2 | Valid | 143.7 | 71.9 | 130 ms | 13.9 ms | 2.0 | 0 | 4,308 | 30.0 s |
| Sustained decode | 16K | 4 | Valid | 266.7 | 66.9 | 204 ms | 14.9 ms | 4.0 | 0 | 7,998 | 30.0 s |
| Sustained decode | 16K | 8 | Valid | 468.8 | 58.9 | 244 ms | 17.0 ms | 8.0 | 0 | 14,068 | 30.0 s |
| Sustained decode | 16K | 16 | Valid | 745.5 | 46.8 | 398 ms | 21.4 ms | 16.0 | 0 | 22,364 | 30.0 s |
| Sustained decode | 16K | 32 | Over capacity | — | — | — | — | — | — | — | — |
| Sustained decode | 16K | 64 | Over capacity | — | — | — | — | — | — | — | — |
| Sustained decode | 16K | 128 | Over capacity | — | — | — | — | — | — | — | — |
| Sustained decode | 32K | 1 | Valid | 72.8 | 72.9 | 152 ms | 13.7 ms | 1.0 | 0 | 2,180 | 30.0 s |
| Sustained decode | 32K | 2 | Valid | 136.9 | 68.6 | 198 ms | 14.6 ms | 2.0 | 0 | 4,105 | 30.0 s |
| Sustained decode | 32K | 4 | Valid | 245.9 | 61.6 | 266 ms | 16.2 ms | 4.0 | 0 | 7,376 | 30.0 s |
| Sustained decode | 32K | 8 | Valid | 411.6 | 51.6 | 443 ms | 19.4 ms | 8.0 | 0 | 12,344 | 30.0 s |
| Sustained decode | 32K | 16 | Valid | 612.1 | 38.3 | 582 ms | 26.1 ms | 16.0 | 0 | 18,357 | 30.0 s |
| Sustained decode | 32K | 32 | Over capacity | — | — | — | — | — | — | — | — |
| Sustained decode | 32K | 64 | Over capacity | — | — | — | — | — | — | — | — |
| Sustained decode | 32K | 128 | Over capacity | — | — | — | — | — | — | — | — |
| Sustained decode | 64K | 1 | Valid | 69.2 | 69.2 | 221 ms | 14.4 ms | 1.0 | 0 | 2,072 | 30.0 s |
| Sustained decode | 64K | 2 | Valid | 124.8 | 62.5 | 303 ms | 16.0 ms | 2.0 | 0 | 3,743 | 30.0 s |
| Sustained decode | 64K | 4 | Valid | 212.8 | 53.4 | 442 ms | 18.7 ms | 4.0 | 0 | 6,383 | 30.0 s |
| Sustained decode | 64K | 8 | Valid | 329.4 | 41.2 | 728 ms | 24.3 ms | 8.0 | 0 | 9,883 | 30.0 s |
| Sustained decode | 64K | 16 | Over capacity | — | — | — | — | — | — | — | — |
| Sustained decode | 64K | 32 | Over capacity | — | — | — | — | — | — | — | — |
| Sustained decode | 64K | 64 | Over capacity | — | — | — | — | — | — | — | — |
| Sustained decode | 64K | 128 | Over capacity | — | — | — | — | — | — | — | — |
| Sustained decode | 128K | 1 | Valid | 63.0 | 63.1 | 445 ms | 15.8 ms | 1.0 | 0 | 1,888 | 30.0 s |
| Sustained decode | 128K | 2 | Valid | 105.1 | 52.7 | 596 ms | 19.0 ms | 2.0 | 0 | 3,152 | 30.0 s |
| Sustained decode | 128K | 4 | Valid | 167.4 | 41.9 | 925 ms | 23.9 ms | 4.0 | 0 | 5,022 | 30.0 s |
| Sustained decode | 128K | 8 | Over capacity | — | — | — | — | — | — | — | — |
| Sustained decode | 128K | 16 | Over capacity | — | — | — | — | — | — | — | — |
| Sustained decode | 128K | 32 | Over capacity | — | — | — | — | — | — | — | — |
| Sustained decode | 128K | 64 | Over capacity | — | — | — | — | — | — | — | — |
| Sustained decode | 128K | 128 | Over capacity | — | — | — | — | — | — | — | — |
| Sustained decode | 251K | 1 | Valid | 53.6 | 53.9 | 987 ms | 18.5 ms | 1.0 | 0 | 1,608 | 30.0 s |
| Sustained decode | 251K | 2 | Valid | 82.0 | 41.2 | 1,354 ms | 24.2 ms | 2.0 | 0 | 2,458 | 30.0 s |
| Sustained decode | 251K | 4 | Over capacity | — | — | — | — | — | — | — | — |
| Sustained decode | 251K | 8 | Over capacity | — | — | — | — | — | — | — | — |
| Sustained decode | 251K | 16 | Over capacity | — | — | — | — | — | — | — | — |
| Sustained decode | 251K | 32 | Over capacity | — | — | — | — | — | — | — | — |
| Sustained decode | 251K | 64 | Over capacity | — | — | — | — | — | — | — | — |
| Sustained decode | 251K | 128 | Over capacity | — | — | — | — | — | — | — | — |
Over capacity: not run because this many requests at this context would exceed the server's KV cache.
