Speed test matrix
gemma-4-E4B-it on H200 NVL 141GB
sglang · 0.5.6.post3.dev9265+g05c584c44 · BF165 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
- sglang
- Version
- 0.5.6.post3.dev9265+g05c584c44
- Quantization
- BF16
- Backend
- cuda
- Repository
- github.com/sgl-project/sglang
- Build
- cuda-13.2
- Commit
05c584c44fb0
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-redhatai-sglang/bin/sglang" serve --model-path RedHatAI/gemma-4-E4B-it --served-model-name gemma --trust-remote-code --tp 1 --reasoning-parser gemma4 --tool-call-parser gemma4 --context-length 131072 --mem-fraction-static 0.854124 --enable-metrics --host 0.0.0.0 --port 8000 --api-key <redacted>
Prefill
prompt tok/s by context length8K context25.3K324 ms TTFT
16K context21.4K761 ms TTFT
32K context15.7K2,064 ms TTFT
64K context9,9566,484 ms TTFT
123K context5,92020,936 ms TTFT
128K context5,72322,538 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 | 134.8Requests queued85 ms TTFT | 75.1156 ms TTFT | 164.3768 ms TTFT | 980.2237 ms TTFT | 1,715.3403 ms TTFT | 3,314.7765 ms TTFT | 5,036.51,495 ms TTFT | Over capacity |
| 16K | 116.3119 ms TTFT | 170.2154 ms TTFT | 458.4198 ms TTFT | 914.1398 ms TTFT | 1,766.4751 ms TTFT | 2,769.61,456 ms TTFT | Over capacity | Over capacity |
| 32K | 90.4186 ms TTFT | 166.2263 ms TTFT | 365.4410 ms TTFT | 731.9789 ms TTFT | 1,328.01,533 ms TTFT | 1,717.32,999 ms TTFT | Over capacity | Over capacity |
| 64K | 62.9334 ms TTFT | 86.7500 ms TTFT | 235.7839 ms TTFT | 508.11,617 ms TTFT | 677.83,198 ms TTFT | Over capacity | Over capacity | Over capacity |
| 123K | 40.5745 ms TTFT | 80.21,200 ms TTFT | 161.72,144 ms TTFT | 323.84,157 ms TTFT | Over capacity | Over capacity | Over capacity | Over capacity |
Requests queued: the server could not run all requests at once, so some waited in a queue. 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 | 25.3K | — | 324 ms | — | — | 1 | — | — |
| Prefill | 16K | 1 | Valid | 21.4K | — | 761 ms | — | — | 1 | — | — |
| Prefill | 32K | 1 | Valid | 15.7K | — | 2,064 ms | — | — | 1 | — | — |
| Prefill | 64K | 1 | Valid | 9,956.0 | — | 6,484 ms | — | — | 1 | — | — |
| Prefill | 123K | 1 | Valid | 5,920.0 | — | 20,936 ms | — | — | 1 | — | — |
| Prefill | 128K | 1 | Valid | 5,723.0 | — | 22,538 ms | — | — | 1 | — | — |
| Sustained decode | 8K | 1 | Requests queued | 134.8 | 138.7 | 85 ms | 7.2 ms | 1.0 | 1 | 4,044 | 30.0 s |
| Sustained decode | 8K | 2 | Valid | 75.1 | 37.5 | 156 ms | 26.6 ms | 3.0 | 0 | 2,252 | 30.0 s |
| Sustained decode | 8K | 4 | Valid | 164.3 | 40.6 | 768 ms | 24.6 ms | 6.9 | 0 | 4,929 | 30.0 s |
| Sustained decode | 8K | 8 | Valid | 980.2 | 128.3 | 237 ms | 7.8 ms | 10.4 | 8 | 29,403 | 30.0 s |
| Sustained decode | 8K | 16 | Valid | 1,715.3 | 108.0 | 403 ms | 9.3 ms | 23.7 | 0 | 51,456 | 30.0 s |
| Sustained decode | 8K | 32 | Valid | 3,314.7 | 103.9 | 765 ms | 9.6 ms | 32.0 | 0 | 99,424 | 30.0 s |
| Sustained decode | 8K | 64 | Valid | 5,036.5 | 76.9 | 1,495 ms | 13.0 ms | 66.1 | 0 | 151,104 | 30.0 s |
| Sustained decode | 8K | 128 | Over capacity | — | — | — | — | — | — | — | — |
| Sustained decode | 16K | 1 | Valid | 116.3 | 116.8 | 119 ms | 8.6 ms | 1.0 | 0 | 3,489 | 30.0 s |
| Sustained decode | 16K | 2 | Valid | 170.2 | 82.2 | 154 ms | 12.2 ms | 38.3 | 0 | 5,107 | 30.0 s |
| Sustained decode | 16K | 4 | Valid | 458.4 | 113.8 | 198 ms | 8.8 ms | 4.3 | 0 | 13,748 | 30.0 s |
| Sustained decode | 16K | 8 | Valid | 914.1 | 115.3 | 398 ms | 8.7 ms | 8.0 | 0 | 27,425 | 30.0 s |
| Sustained decode | 16K | 16 | Valid | 1,766.4 | 111.6 | 751 ms | 9.0 ms | 16.0 | 0 | 52,992 | 30.0 s |
| Sustained decode | 16K | 32 | Valid | 2,769.6 | 87.7 | 1,456 ms | 11.4 ms | 32.0 | 0 | 83,072 | 30.0 s |
| Sustained decode | 16K | 64 | Over capacity | — | — | — | — | — | — | — | — |
| Sustained decode | 16K | 128 | Over capacity | — | — | — | — | — | — | — | — |
| Sustained decode | 32K | 1 | Valid | 90.4 | 90.6 | 186 ms | 11.0 ms | 1.0 | 0 | 2,712 | 30.0 s |
| Sustained decode | 32K | 2 | Valid | 166.2 | 80.7 | 263 ms | 12.4 ms | 13.0 | 0 | 4,984 | 30.0 s |
| Sustained decode | 32K | 4 | Valid | 365.4 | 91.0 | 410 ms | 11.0 ms | 4.6 | 0 | 10,960 | 30.0 s |
| Sustained decode | 32K | 8 | Valid | 731.9 | 91.0 | 789 ms | 11.0 ms | 8.7 | 0 | 21,952 | 30.0 s |
| Sustained decode | 32K | 16 | Valid | 1,328.0 | 81.4 | 1,533 ms | 12.3 ms | 18.2 | 0 | 39,841 | 30.0 s |
| Sustained decode | 32K | 32 | Valid | 1,717.3 | 54.0 | 2,999 ms | 18.5 ms | 41.9 | 0 | 51,520 | 30.0 s |
| Sustained decode | 32K | 64 | Over capacity | — | — | — | — | — | — | — | — |
| Sustained decode | 32K | 128 | Over capacity | — | — | — | — | — | — | — | — |
| Sustained decode | 64K | 1 | Valid | 62.9 | 63.0 | 334 ms | 15.9 ms | 1.0 | 0 | 1,885 | 30.0 s |
| Sustained decode | 64K | 2 | Valid | 86.7 | 43.4 | 500 ms | 23.0 ms | 34.0 | 0 | 2,602 | 30.0 s |
| Sustained decode | 64K | 4 | Valid | 235.7 | 57.0 | 839 ms | 17.5 ms | 14.7 | 0 | 7,068 | 30.0 s |
| Sustained decode | 64K | 8 | Valid | 508.1 | 63.7 | 1,617 ms | 15.7 ms | 11.8 | 0 | 15,240 | 30.0 s |
| Sustained decode | 64K | 16 | Valid | 677.8 | 43.4 | 3,198 ms | 23.0 ms | 24.0 | 0 | 20,336 | 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 | 40.5 | 40.5 | 745 ms | 24.7 ms | 1.0 | 0 | 1,215 | 30.0 s |
| Sustained decode | 123K | 2 | Valid | 80.2 | 39.3 | 1,200 ms | 25.5 ms | 18.1 | 0 | 2,406 | 30.0 s |
| Sustained decode | 123K | 4 | Valid | 161.7 | 40.8 | 2,144 ms | 24.5 ms | 17.7 | 0 | 4,848 | 30.0 s |
| Sustained decode | 123K | 8 | Valid | 323.8 | 41.7 | 4,157 ms | 24.0 ms | 13.5 | 0 | 9,712 | 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 | — | — | — | — | — | — | — | — |
Requests queued: the server could not run all requests at once, so some waited in a queue. Over capacity: not run because this many requests at this context would exceed the server's KV cache.
