Speed test matrix
GLM-5.3-NVFP4 on RTX PRO 6000 Blackwell Server Edition 96GB ×8
vllm · 0.30.1rc1.dev167+g417b0b6aa · NVFP46 contexts (8K–251K) × 8 concurrency levels (1–128) · prefill at 8K, 16K, 32K, 64K, 128K, 251K, 256K
Hardware
- Type
- Discrete GPU
- GPU
- RTX PRO 6000 Blackwell Server Edition
- GPU count
- 8
- VRAM
- 768 GB (8 × 96 GB)
- OS
- linux
Engine
- Engine
- vllm
- Version
- 0.30.1rc1.dev167+g417b0b6aa
- Quantization
- NVFP4
- Backend
- cuda
- Repository
- github.com/vllm-project/vllm
- Build
- cuda-13.2
- Commit
417b0b6aa289
Run
- Served model
- GLM-5.3-NVFP4
- 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_rtxpro6k-incoai-vllm-pr-417b0b6aa/bin/vllm" serve incoai/GLM-5.3-NVFP4 --served-model-name GLM-5.3-NVFP4 --tensor-parallel-size 8 --reasoning-parser glm45 --enable-auto-tool-choice --tool-call-parser glm47 --max-model-len 262144 --gpu-memory-utilization 0.83 --host 0.0.0.0 --port 8000 --api-key <redacted> --no-enable-flashinfer-autotune --attention-backend FLASHINFER_MLA_SPARSE_SM120 --moe-backend flashinfer_cutlass
Prefill
prompt tok/s by context length8K context3,8022,156 ms TTFT
16K context4,0484,008 ms TTFT
32K context4,1717,747 ms TTFT
64K context4,07515,826 ms TTFT
128K context3,86633,331 ms TTFT
251K context3,48772,423 ms TTFT
256K context3,50173,572 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 | 50.846 ms TTFT | 91.980 ms TTFT | 170.4116 ms TTFT | 288.0138 ms TTFT | 445.0176 ms TTFT | Over capacity | Over capacity | Over capacity |
| 16K | 49.781 ms TTFT | 92.2126 ms TTFT | 169.2192 ms TTFT | 288.9210 ms TTFT | 452.6377 ms TTFT | Over capacity | Over capacity | Over capacity |
| 32K | 49.5127 ms TTFT | 92.0188 ms TTFT | 168.6234 ms TTFT | 277.8365 ms TTFT | Over capacity | Over capacity | Over capacity | Over capacity |
| 64K | 49.7181 ms TTFT | 92.2213 ms TTFT | 169.4310 ms TTFT | Over capacity | Over capacity | Over capacity | Over capacity | Over capacity |
| 128K | 49.5282 ms TTFT | 92.1359 ms TTFT | Over capacity | Over capacity | Over capacity | Over capacity | Over capacity | Over capacity |
| 251K | 48.9596 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 | 3,802.0 | — | 2,156 ms | — | — | 1 | — | — |
| Prefill | 16K | 1 | Valid | 4,048.0 | — | 4,008 ms | — | — | 1 | — | — |
| Prefill | 32K | 1 | Valid | 4,171.0 | — | 7,747 ms | — | — | 1 | — | — |
| Prefill | 64K | 1 | Valid | 4,075.0 | — | 15,826 ms | — | — | 1 | — | — |
| Prefill | 128K | 1 | Valid | 3,866.0 | — | 33,331 ms | — | — | 1 | — | — |
| Prefill | 251K | 1 | Valid | 3,487.0 | — | 72,423 ms | — | — | 1 | — | — |
| Prefill | 256K | 1 | Valid | 3,501.0 | — | 73,572 ms | — | — | 1 | — | — |
| Sustained decode | 8K | 1 | Valid | 50.8 | 50.8 | 46 ms | 19.7 ms | 1.0 | 0 | 1,523 | 30.0 s |
| Sustained decode | 8K | 2 | Valid | 91.9 | 46.0 | 80 ms | 21.8 ms | 2.0 | 0 | 2,756 | 30.0 s |
| Sustained decode | 8K | 4 | Valid | 170.4 | 42.6 | 116 ms | 23.5 ms | 4.0 | 0 | 5,108 | 30.0 s |
| Sustained decode | 8K | 8 | Valid | 288.0 | 36.0 | 138 ms | 27.8 ms | 8.0 | 0 | 8,639 | 30.0 s |
| Sustained decode | 8K | 16 | Valid | 445.0 | 27.9 | 176 ms | 35.8 ms | 16.0 | 0 | 13,342 | 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 | 49.7 | 49.7 | 81 ms | 20.1 ms | 1.0 | 0 | 1,492 | 30.0 s |
| Sustained decode | 16K | 2 | Valid | 92.2 | 46.1 | 126 ms | 21.7 ms | 2.0 | 0 | 2,764 | 30.0 s |
| Sustained decode | 16K | 4 | Valid | 169.2 | 42.4 | 192 ms | 23.6 ms | 4.0 | 0 | 5,076 | 30.0 s |
| Sustained decode | 16K | 8 | Valid | 288.9 | 36.0 | 210 ms | 27.8 ms | 8.0 | 0 | 8,664 | 30.0 s |
| Sustained decode | 16K | 16 | Valid | 452.6 | 28.4 | 377 ms | 35.2 ms | 16.0 | 0 | 13,567 | 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 | 49.5 | 49.5 | 127 ms | 20.2 ms | 1.0 | 0 | 1,485 | 30.0 s |
| Sustained decode | 32K | 2 | Valid | 92.0 | 46.0 | 188 ms | 21.7 ms | 2.0 | 0 | 2,758 | 30.0 s |
| Sustained decode | 32K | 4 | Valid | 168.6 | 42.1 | 234 ms | 23.8 ms | 4.0 | 0 | 5,056 | 30.0 s |
| Sustained decode | 32K | 8 | Valid | 277.8 | 34.8 | 365 ms | 28.8 ms | 8.0 | 0 | 8,327 | 30.0 s |
| 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 | 49.7 | 49.7 | 181 ms | 20.1 ms | 1.0 | 0 | 1,490 | 30.0 s |
| Sustained decode | 64K | 2 | Valid | 92.2 | 46.1 | 213 ms | 21.7 ms | 2.0 | 0 | 2,766 | 30.0 s |
| Sustained decode | 64K | 4 | Valid | 169.4 | 42.3 | 310 ms | 23.7 ms | 4.0 | 0 | 5,078 | 30.0 s |
| 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 | 49.5 | 49.5 | 282 ms | 20.2 ms | 1.0 | 0 | 1,483 | 30.0 s |
| Sustained decode | 128K | 2 | Valid | 92.1 | 46.1 | 359 ms | 21.7 ms | 2.0 | 0 | 2,762 | 30.0 s |
| 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 | 48.9 | 49.0 | 596 ms | 20.4 ms | 1.0 | 0 | 1,467 | 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.
