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.85 --host 0.0.0.0 --port 8000 --api-key <redacted> --dtype bfloat16 --kv-cache-dtype bfloat16 --no-enable-flashinfer-autotune
Prefill
prompt tok/s by context length8K context12.1K677 ms TTFT
16K context7,6942,109 ms TTFT
32K context11.5K2,806 ms TTFT
64K context10.8K5,971 ms TTFT
128K context9,69813,290 ms TTFT
251K context7,93731,826 ms TTFT
256K context7,91632,544 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 | 98.449 ms TTFT | 185.369 ms TTFT | 331.589 ms TTFT | 544.4129 ms TTFT | 914.6208 ms TTFT | Over capacity | Over capacity | Over capacity |
| 16K | 98.472 ms TTFT | 185.299 ms TTFT | 330.9144 ms TTFT | 548.4201 ms TTFT | Over capacity | Over capacity | Over capacity | Over capacity |
| 32K | 98.2109 ms TTFT | 184.8140 ms TTFT | 328.9189 ms TTFT | Over capacity | Over capacity | Over capacity | Over capacity | Over capacity |
| 64K | 97.9190 ms TTFT | 183.6248 ms TTFT | Over capacity | Over capacity | Over capacity | Over capacity | Over capacity | Over capacity |
| 128K | 96.9366 ms TTFT | Over capacity | Over capacity | Over capacity | Over capacity | Over capacity | Over capacity | Over capacity |
| 251K | 95.3798 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 | 12.1K | — | 677 ms | — | — | 1 | — | — |
| Prefill | 16K | 1 | Valid | 7,694.0 | — | 2,109 ms | — | — | 1 | — | — |
| Prefill | 32K | 1 | Valid | 11.5K | — | 2,806 ms | — | — | 1 | — | — |
| Prefill | 64K | 1 | Valid | 10.8K | — | 5,971 ms | — | — | 1 | — | — |
| Prefill | 128K | 1 | Valid | 9,698.0 | — | 13,290 ms | — | — | 1 | — | — |
| Prefill | 251K | 1 | Valid | 7,937.0 | — | 31,826 ms | — | — | 1 | — | — |
| Prefill | 256K | 1 | Valid | 7,916.0 | — | 32,544 ms | — | — | 1 | — | — |
| Sustained decode | 8K | 1 | Valid | 98.4 | 98.3 | 49 ms | 10.2 ms | 1.0 | 0 | 2,950 | 30.0 s |
| Sustained decode | 8K | 2 | Valid | 185.3 | 92.6 | 69 ms | 10.8 ms | 2.0 | 0 | 5,558 | 30.0 s |
| Sustained decode | 8K | 4 | Valid | 331.5 | 82.9 | 89 ms | 12.1 ms | 4.0 | 0 | 9,944 | 30.0 s |
| Sustained decode | 8K | 8 | Valid | 544.4 | 68.1 | 129 ms | 14.7 ms | 8.0 | 0 | 16,327 | 30.0 s |
| Sustained decode | 8K | 16 | Valid | 914.6 | 57.3 | 208 ms | 17.5 ms | 16.0 | 0 | 27,423 | 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 | 98.4 | 98.4 | 72 ms | 10.2 ms | 1.0 | 0 | 2,951 | 30.0 s |
| Sustained decode | 16K | 2 | Valid | 185.2 | 92.6 | 99 ms | 10.8 ms | 2.0 | 0 | 5,556 | 30.0 s |
| Sustained decode | 16K | 4 | Valid | 330.9 | 82.7 | 144 ms | 12.1 ms | 4.0 | 0 | 9,924 | 30.0 s |
| Sustained decode | 16K | 8 | Valid | 548.4 | 68.5 | 201 ms | 14.6 ms | 8.0 | 0 | 16,448 | 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 | 98.2 | 98.3 | 109 ms | 10.2 ms | 1.0 | 0 | 2,947 | 30.0 s |
| Sustained decode | 32K | 2 | Valid | 184.8 | 92.4 | 140 ms | 10.8 ms | 2.0 | 0 | 5,542 | 30.0 s |
| Sustained decode | 32K | 4 | Valid | 328.9 | 82.2 | 189 ms | 12.2 ms | 4.0 | 0 | 9,867 | 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 | 97.9 | 97.9 | 190 ms | 10.2 ms | 1.0 | 0 | 2,936 | 30.0 s |
| Sustained decode | 64K | 2 | Valid | 183.6 | 91.9 | 248 ms | 10.9 ms | 2.0 | 0 | 5,508 | 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 | 96.9 | 97.0 | 366 ms | 10.3 ms | 1.0 | 0 | 2,906 | 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 | 95.3 | 95.6 | 798 ms | 10.5 ms | 1.0 | 0 | 2,859 | 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.
