Speed test matrix
GLM-5.3 on H200 SXM 141GB ×8
vllm · 0.29.0 · FP86 contexts (8K–251K) × 8 concurrency levels (1–128) · prefill at 8K, 16K, 32K, 64K, 128K, 251K, 256K
Hardware
- Type
- Discrete GPU
- GPU
- H200 SXM
- GPU count
- 8
- VRAM
- 1128 GB (8 × 141 GB)
- OS
- linux
Engine
- Engine
- vllm
- Version
- 0.29.0
- Quantization
- FP8
- Backend
- cuda
- Repository
- github.com/vllm-project/vllm
- Build
- cuda-13.2
Run
- Served model
- glm
- Revision
- main
- Benchmark tool
- llm-inference-bench v0.6.2
- 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-glm53-vllm-v0290/bin/vllm" serve zai-org/GLM-5.3 --served-model-name glm --tensor-parallel-size 8 --reasoning-parser glm45 --enable-auto-tool-choice --tool-call-parser glm47 --max-model-len 262144 --gpu-memory-utilization 0.88 --host 0.0.0.0 --port 8000 --api-key <redacted> --dtype bfloat16 --kv-cache-dtype bfloat16 --no-enable-flashinfer-autotune --speculative-config '{"method":"dflash","model":"incoai/GLM-5.3-DFlash2","num_speculative_tokens":7}'Prefill
prompt tok/s by context length8K context11.9K689 ms TTFT
16K context11.8K1,376 ms TTFT
32K context11.3K2,853 ms TTFT
64K context10.7K6,045 ms TTFT
128K context9,60213,423 ms TTFT
251K context7,89332,001 ms TTFT
256K context7,88732,666 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 | 170.263 ms TTFT | 295.689 ms TTFT | 394.9144 ms TTFT | 661.9167 ms TTFT | 1,056.5310 ms TTFT | Over capacity | Over capacity | Over capacity |
| 16K | 155.184 ms TTFT | 283.0104 ms TTFT | 392.7166 ms TTFT | 661.6235 ms TTFT | Over capacity | Over capacity | Over capacity | Over capacity |
| 32K | 161.4113 ms TTFT | 282.9131 ms TTFT | 405.1206 ms TTFT | Over capacity | Over capacity | Over capacity | Over capacity | Over capacity |
| 64K | 162.1190 ms TTFT | 285.0197 ms TTFT | Over capacity | Over capacity | Over capacity | Over capacity | Over capacity | Over capacity |
| 128K | 173.0376 ms TTFT | Over capacity | Over capacity | Over capacity | Over capacity | Over capacity | Over capacity | Over capacity |
| 251K | 150.5800 ms TTFT | Over capacity | 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 | 11.9K | — | 689 ms | — | — | 1 | — | — |
| Prefill | 16K | 1 | Valid | 11.8K | — | 1,376 ms | — | — | 1 | — | — |
| Prefill | 32K | 1 | Valid | 11.3K | — | 2,853 ms | — | — | 1 | — | — |
| Prefill | 64K | 1 | Valid | 10.7K | — | 6,045 ms | — | — | 1 | — | — |
| Prefill | 128K | 1 | Valid | 9,602.0 | — | 13,423 ms | — | — | 1 | — | — |
| Prefill | 251K | 1 | Valid | 7,893.0 | — | 32,001 ms | — | — | 1 | — | — |
| Prefill | 256K | 1 | Valid | 7,887.0 | — | 32,666 ms | — | — | 1 | — | — |
| Sustained decode | 8K | 1 | Valid | 170.2 | 175.3 | 63 ms | 5.7 ms | 1.0 | 1 | 5,104 | 30.0 s |
| Sustained decode | 8K | 2 | Valid | 295.6 | 155.4 | 89 ms | 6.4 ms | 2.0 | 2 | 8,868 | 30.0 s |
| Sustained decode | 8K | 4 | Valid | 394.9 | 102.3 | 144 ms | 9.8 ms | 4.0 | 0 | 11,846 | 30.0 s |
| Sustained decode | 8K | 8 | Valid | 661.9 | 83.7 | 167 ms | 11.9 ms | 8.0 | 0 | 19,839 | 30.0 s |
| Sustained decode | 8K | 16 | Valid | 1,056.5 | 68.1 | 310 ms | 14.7 ms | 16.0 | 0 | 31,685 | 30.0 s |
| Sustained decode | 8K | 32 | Over capacity | — | — | — | — | — | — | — | — |
| Sustained decode | 8K | 64 | Over capacity | — | — | — | — | — | — | — | — |
| Sustained decode | 8K | 128 | Over capacity | — | — | — | — | — | — | — | — |
| Sustained decode | 16K | 1 | Valid | 155.1 | 161.9 | 84 ms | 6.2 ms | 1.0 | 1 | 4,651 | 30.0 s |
| Sustained decode | 16K | 2 | Valid | 283.0 | 149.4 | 104 ms | 6.7 ms | 2.0 | 2 | 8,488 | 30.0 s |
| Sustained decode | 16K | 4 | Valid | 392.7 | 100.4 | 166 ms | 10.0 ms | 4.0 | 0 | 11,776 | 30.0 s |
| Sustained decode | 16K | 8 | Valid | 661.6 | 85.7 | 235 ms | 11.7 ms | 8.0 | 0 | 19,837 | 30.0 s |
| Sustained decode | 16K | 16 | Over capacity | — | — | — | — | — | — | — | — |
| Sustained decode | 16K | 32 | Over capacity | — | — | — | — | — | — | — | — |
| Sustained decode | 16K | 64 | Over capacity | — | — | — | — | — | — | — | — |
| Sustained decode | 16K | 128 | Over capacity | — | — | — | — | — | — | — | — |
| Sustained decode | 32K | 1 | Valid | 161.4 | 179.1 | 113 ms | 5.7 ms | 1.0 | 1 | 4,842 | 30.0 s |
| Sustained decode | 32K | 2 | Valid | 282.9 | 147.9 | 131 ms | 6.8 ms | 2.0 | 2 | 8,485 | 30.0 s |
| Sustained decode | 32K | 4 | Valid | 405.1 | 105.4 | 206 ms | 9.5 ms | 4.0 | 0 | 12,148 | 30.0 s |
| Sustained decode | 32K | 8 | Over capacity | — | — | — | — | — | — | — | — |
| Sustained decode | 32K | 16 | Over capacity | — | — | — | — | — | — | — | — |
| Sustained decode | 32K | 32 | Over capacity | — | — | — | — | — | — | — | — |
| Sustained decode | 32K | 64 | Over capacity | — | — | — | — | — | — | — | — |
| Sustained decode | 32K | 128 | Over capacity | — | — | — | — | — | — | — | — |
| Sustained decode | 64K | 1 | Valid | 162.1 | 169.1 | 190 ms | 5.9 ms | 1.0 | 1 | 4,862 | 30.0 s |
| Sustained decode | 64K | 2 | Valid | 285.0 | 146.3 | 197 ms | 6.8 ms | 2.0 | 2 | 8,551 | 30.0 s |
| Sustained decode | 64K | 4 | Over capacity | — | — | — | — | — | — | — | — |
| Sustained decode | 64K | 8 | Over capacity | — | — | — | — | — | — | — | — |
| 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 | 173.0 | 178.5 | 376 ms | 5.6 ms | 1.0 | 1 | 5,191 | 30.0 s |
| Sustained decode | 128K | 2 | Over capacity | — | — | — | — | — | — | — | — |
| Sustained decode | 128K | 4 | Over capacity | — | — | — | — | — | — | — | — |
| 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 | 150.5 | 165.7 | 800 ms | 6.1 ms | 1.0 | 1 | 4,513 | 30.0 s |
| Sustained decode | 251K | 2 | Over capacity | — | — | — | — | — | — | — | — |
| 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.
