Speed test matrix
Olmo-3.1-32B-Instruct on H200 NVL 141GB
vllm · 0.26.1rc1.dev638+g52be12cfa · BF164 contexts (8K–59K) × 8 concurrency levels (1–128) · prefill at 8K, 16K, 32K, 59K, 64K
Hardware
- Type
- Discrete GPU
- GPU
- H200 NVL
- VRAM
- 141 GB
- OS
- linux
Engine
- Engine
- vllm
- Version
- 0.26.1rc1.dev638+g52be12cfa
- Quantization
- BF16
- Backend
- cuda
- Repository
- github.com/vllm-project/vllm
- Build
- cuda-13.2
- Commit
52be12cfac0c
Run
- Served model
- olmo
- 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-allenai-vllm/bin/vllm" serve allenai/Olmo-3.1-32B-Instruct --served-model-name olmo --trust-remote-code --tensor-parallel-size 1 --max-model-len 65536 --gpu-memory-utilization 0.871691 --host 0.0.0.0 --port 8000 --api-key <redacted>
Prefill
prompt tok/s by context length8K context8,567631 ms TTFT
16K context8,0791,315 ms TTFT
32K context7,9122,660 ms TTFT
59K context7,6625,042 ms TTFT
64K context7,5625,541 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.353 ms TTFT | 99.077 ms TTFT | 192.777 ms TTFT | 364.7146 ms TTFT | 663.5224 ms TTFT | 1,120.6341 ms TTFT | 1,638.4502 ms TTFT | Over capacity |
| 16K | 50.077 ms TTFT | 98.687 ms TTFT | 190.8136 ms TTFT | 357.5165 ms TTFT | 637.9266 ms TTFT | 1,045.9390 ms TTFT | Over capacity | Over capacity |
| 32K | 49.687 ms TTFT | 97.5114 ms TTFT | 186.8192 ms TTFT | 344.7285 ms TTFT | 600.0328 ms TTFT | Over capacity | Over capacity | Over capacity |
| 59K | 48.9132 ms TTFT | 95.4143 ms TTFT | 180.8210 ms TTFT | 324.9362 ms TTFT | 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 | 8,567.0 | — | 631 ms | — | — | 1 | — | — |
| Prefill | 16K | 1 | Valid | 8,079.0 | — | 1,315 ms | — | — | 1 | — | — |
| Prefill | 32K | 1 | Valid | 7,912.0 | — | 2,660 ms | — | — | 1 | — | — |
| Prefill | 59K | 1 | Valid | 7,662.0 | — | 5,042 ms | — | — | 1 | — | — |
| Prefill | 64K | 1 | Valid | 7,562.0 | — | 5,541 ms | — | — | 1 | — | — |
| Sustained decode | 8K | 1 | Valid | 50.3 | 50.3 | 53 ms | 19.9 ms | 1.0 | 0 | 1,508 | 30.0 s |
| Sustained decode | 8K | 2 | Valid | 99.0 | 49.5 | 77 ms | 20.2 ms | 2.0 | 0 | 2,970 | 30.0 s |
| Sustained decode | 8K | 4 | Valid | 192.7 | 48.2 | 77 ms | 20.7 ms | 4.0 | 0 | 5,780 | 30.0 s |
| Sustained decode | 8K | 8 | Valid | 364.7 | 45.6 | 146 ms | 21.9 ms | 8.0 | 0 | 10,936 | 30.0 s |
| Sustained decode | 8K | 16 | Valid | 663.5 | 41.6 | 224 ms | 24.0 ms | 16.0 | 0 | 19,904 | 30.0 s |
| Sustained decode | 8K | 32 | Valid | 1,120.6 | 35.1 | 341 ms | 28.5 ms | 32.0 | 0 | 33,600 | 30.0 s |
| Sustained decode | 8K | 64 | Valid | 1,638.4 | 25.7 | 502 ms | 38.9 ms | 64.0 | 0 | 49,152 | 30.0 s |
| Sustained decode | 8K | 128 | Over capacity | — | — | — | — | — | — | — | — |
| Sustained decode | 16K | 1 | Valid | 50.0 | 50.0 | 77 ms | 20.0 ms | 1.0 | 0 | 1,500 | 30.0 s |
| Sustained decode | 16K | 2 | Valid | 98.6 | 49.3 | 87 ms | 20.3 ms | 2.0 | 0 | 2,956 | 30.0 s |
| Sustained decode | 16K | 4 | Valid | 190.8 | 47.7 | 136 ms | 21.0 ms | 4.0 | 0 | 5,724 | 30.0 s |
| Sustained decode | 16K | 8 | Valid | 357.5 | 44.7 | 165 ms | 22.4 ms | 8.0 | 0 | 10,720 | 30.0 s |
| Sustained decode | 16K | 16 | Valid | 637.9 | 39.9 | 266 ms | 25.0 ms | 16.0 | 0 | 19,136 | 30.0 s |
| Sustained decode | 16K | 32 | Valid | 1,045.9 | 32.8 | 390 ms | 30.5 ms | 32.0 | 0 | 31,360 | 30.0 s |
| Sustained decode | 16K | 64 | Over capacity | — | — | — | — | — | — | — | — |
| Sustained decode | 16K | 128 | Over capacity | — | — | — | — | — | — | — | — |
| Sustained decode | 32K | 1 | Valid | 49.6 | 49.6 | 87 ms | 20.2 ms | 1.0 | 0 | 1,487 | 30.0 s |
| Sustained decode | 32K | 2 | Valid | 97.5 | 48.8 | 114 ms | 20.5 ms | 2.0 | 0 | 2,924 | 30.0 s |
| Sustained decode | 32K | 4 | Valid | 186.8 | 46.7 | 192 ms | 21.4 ms | 4.0 | 0 | 5,600 | 30.0 s |
| Sustained decode | 32K | 8 | Valid | 344.7 | 43.1 | 285 ms | 23.2 ms | 8.0 | 0 | 10,336 | 30.0 s |
| Sustained decode | 32K | 16 | Valid | 600.0 | 37.5 | 328 ms | 26.6 ms | 16.0 | 0 | 18,000 | 30.0 s |
| Sustained decode | 32K | 32 | Over capacity | — | — | — | — | — | — | — | — |
| Sustained decode | 32K | 64 | Over capacity | — | — | — | — | — | — | — | — |
| Sustained decode | 32K | 128 | Over capacity | — | — | — | — | — | — | — | — |
| Sustained decode | 59K | 1 | Valid | 48.9 | 48.9 | 132 ms | 20.4 ms | 1.0 | 0 | 1,466 | 30.0 s |
| Sustained decode | 59K | 2 | Valid | 95.4 | 47.7 | 143 ms | 21.0 ms | 2.0 | 0 | 2,860 | 30.0 s |
| Sustained decode | 59K | 4 | Valid | 180.8 | 45.2 | 210 ms | 22.1 ms | 4.0 | 0 | 5,424 | 30.0 s |
| Sustained decode | 59K | 8 | Valid | 324.9 | 40.6 | 362 ms | 24.6 ms | 8.0 | 0 | 9,744 | 30.0 s |
| Sustained decode | 59K | 16 | Over capacity | — | — | — | — | — | — | — | — |
| Sustained decode | 59K | 32 | Over capacity | — | — | — | — | — | — | — | — |
| Sustained decode | 59K | 64 | Over capacity | — | — | — | — | — | — | — | — |
| Sustained decode | 59K | 128 | Over capacity | — | — | — | — | — | — | — | — |
Over capacity: not run because this many requests at this context would exceed the server's KV cache.
