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.87 --host 0.0.0.0 --port 8000 --api-key <redacted> --dtype bfloat16 --kv-cache-dtype bfloat16 --no-enable-flashinfer-autotune --speculative-config '{"method":"mtp","num_speculative_tokens":5}'Prefill
prompt tok/s by context length8K context11.9K688 ms TTFT
16K context11.7K1,391 ms TTFT
32K context11.3K2,859 ms TTFT
64K context10.6K6,109 ms TTFT
128K context9,46113,623 ms TTFT
251K context7,71132,757 ms TTFT
256K context7,70433,443 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.963 ms TTFT | 302.788 ms TTFT | 484.3101 ms TTFT | 722.5164 ms TTFT | 1,203.0290 ms TTFT | Over capacity | Over capacity | Over capacity |
| 16K | 164.184 ms TTFT | 319.7103 ms TTFT | 472.4110 ms TTFT | 704.0241 ms TTFT | Over capacity | Over capacity | Over capacity | Over capacity |
| 32K | 186.0122 ms TTFT | 307.2143 ms TTFT | 494.2158 ms TTFT | Over capacity | Over capacity | Over capacity | Over capacity | Over capacity |
| 64K | 181.4205 ms TTFT | 302.1213 ms TTFT | Over capacity | Over capacity | Over capacity | Over capacity | Over capacity | Over capacity |
| 128K | 167.3384 ms TTFT | Over capacity | Over capacity | Over capacity | Over capacity | Over capacity | Over capacity | Over capacity |
| 251K | 172.2809 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 | — | 688 ms | — | — | 1 | — | — |
| Prefill | 16K | 1 | Valid | 11.7K | — | 1,391 ms | — | — | 1 | — | — |
| Prefill | 32K | 1 | Valid | 11.3K | — | 2,859 ms | — | — | 1 | — | — |
| Prefill | 64K | 1 | Valid | 10.6K | — | 6,109 ms | — | — | 1 | — | — |
| Prefill | 128K | 1 | Valid | 9,461.0 | — | 13,623 ms | — | — | 1 | — | — |
| Prefill | 251K | 1 | Valid | 7,711.0 | — | 32,757 ms | — | — | 1 | — | — |
| Prefill | 256K | 1 | Valid | 7,704.0 | — | 33,443 ms | — | — | 1 | — | — |
| Sustained decode | 8K | 1 | Valid | 170.9 | 174.7 | 63 ms | 5.7 ms | 1.0 | 1 | 5,126 | 30.0 s |
| Sustained decode | 8K | 2 | Valid | 302.7 | 156.1 | 88 ms | 6.4 ms | 2.0 | 2 | 9,076 | 30.0 s |
| Sustained decode | 8K | 4 | Valid | 484.3 | 128.4 | 101 ms | 7.8 ms | 4.0 | 3 | 14,522 | 30.0 s |
| Sustained decode | 8K | 8 | Valid | 722.5 | 89.3 | 164 ms | 11.2 ms | 8.0 | 0 | 21,676 | 30.0 s |
| Sustained decode | 8K | 16 | Valid | 1,203.0 | 75.8 | 290 ms | 13.2 ms | 16.0 | 0 | 36,078 | 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 | 164.1 | 169.3 | 84 ms | 5.9 ms | 1.0 | 1 | 4,921 | 30.0 s |
| Sustained decode | 16K | 2 | Valid | 319.7 | 163.9 | 103 ms | 6.1 ms | 2.0 | 2 | 9,588 | 30.0 s |
| Sustained decode | 16K | 4 | Valid | 472.4 | 129.6 | 110 ms | 7.7 ms | 4.0 | 3 | 14,169 | 30.0 s |
| Sustained decode | 16K | 8 | Valid | 704.0 | 90.0 | 241 ms | 11.1 ms | 8.0 | 0 | 21,099 | 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 | 186.0 | 185.4 | 122 ms | 5.4 ms | 1.0 | 1 | 5,579 | 30.0 s |
| Sustained decode | 32K | 2 | Valid | 307.2 | 155.4 | 143 ms | 6.4 ms | 2.0 | 2 | 9,213 | 30.0 s |
| Sustained decode | 32K | 4 | Valid | 494.2 | 132.7 | 158 ms | 7.5 ms | 4.0 | 4 | 14,826 | 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 | 181.4 | 180.8 | 205 ms | 5.6 ms | 1.0 | 1 | 5,441 | 30.0 s |
| Sustained decode | 64K | 2 | Valid | 302.1 | 154.7 | 213 ms | 6.5 ms | 2.0 | 2 | 9,059 | 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 | 167.3 | 170.6 | 384 ms | 5.9 ms | 1.0 | 1 | 5,016 | 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 | 172.2 | 178.6 | 809 ms | 5.6 ms | 1.0 | 1 | 5,166 | 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.
