Speed test matrix
Olmo-3-32B-Think 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-32B-Think --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,497631 ms TTFT
16K context8,0881,308 ms TTFT
32K context7,9872,629 ms TTFT
59K context7,6315,057 ms TTFT
64K context7,6215,492 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.248 ms TTFT | 99.176 ms TTFT | 192.8102 ms TTFT | 364.6143 ms TTFT | 664.0226 ms TTFT | 1,118.8338 ms TTFT | 1,639.1467 ms TTFT | Over capacity |
| 16K | 50.071 ms TTFT | 98.797 ms TTFT | 190.8141 ms TTFT | 357.4198 ms TTFT | 638.0248 ms TTFT | 1,043.5355 ms TTFT | Over capacity | Over capacity |
| 32K | 49.677 ms TTFT | 97.5110 ms TTFT | 186.9193 ms TTFT | 344.6286 ms TTFT | 599.9357 ms TTFT | Over capacity | Over capacity | Over capacity |
| 59K | 48.9135 ms TTFT | 95.5166 ms TTFT | 180.6262 ms TTFT | 325.1355 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,497.0 | — | 631 ms | — | — | 1 | — | — |
| Prefill | 16K | 1 | Valid | 8,088.0 | — | 1,308 ms | — | — | 1 | — | — |
| Prefill | 32K | 1 | Valid | 7,987.0 | — | 2,629 ms | — | — | 1 | — | — |
| Prefill | 59K | 1 | Valid | 7,631.0 | — | 5,057 ms | — | — | 1 | — | — |
| Prefill | 64K | 1 | Valid | 7,621.0 | — | 5,492 ms | — | — | 1 | — | — |
| Sustained decode | 8K | 1 | Valid | 50.2 | 50.3 | 48 ms | 19.9 ms | 1.0 | 0 | 1,507 | 30.0 s |
| Sustained decode | 8K | 2 | Valid | 99.1 | 49.6 | 76 ms | 20.2 ms | 2.0 | 0 | 2,972 | 30.0 s |
| Sustained decode | 8K | 4 | Valid | 192.8 | 48.2 | 102 ms | 20.7 ms | 4.0 | 0 | 5,780 | 30.0 s |
| Sustained decode | 8K | 8 | Valid | 364.6 | 45.6 | 143 ms | 21.9 ms | 8.0 | 0 | 10,936 | 30.0 s |
| Sustained decode | 8K | 16 | Valid | 664.0 | 41.6 | 226 ms | 24.0 ms | 16.0 | 0 | 19,920 | 30.0 s |
| Sustained decode | 8K | 32 | Valid | 1,118.8 | 35.1 | 338 ms | 28.5 ms | 32.0 | 0 | 33,536 | 30.0 s |
| Sustained decode | 8K | 64 | Valid | 1,639.1 | 25.7 | 467 ms | 38.8 ms | 64.0 | 0 | 49,152 | 30.0 s |
| Sustained decode | 8K | 128 | Over capacity | — | — | — | — | — | — | — | — |
| Sustained decode | 16K | 1 | Valid | 50.0 | 50.0 | 71 ms | 20.0 ms | 1.0 | 0 | 1,501 | 30.0 s |
| Sustained decode | 16K | 2 | Valid | 98.7 | 49.3 | 97 ms | 20.3 ms | 2.0 | 0 | 2,960 | 30.0 s |
| Sustained decode | 16K | 4 | Valid | 190.8 | 47.7 | 141 ms | 21.0 ms | 4.0 | 0 | 5,724 | 30.0 s |
| Sustained decode | 16K | 8 | Valid | 357.4 | 44.7 | 198 ms | 22.4 ms | 8.0 | 0 | 10,720 | 30.0 s |
| Sustained decode | 16K | 16 | Valid | 638.0 | 39.9 | 248 ms | 25.0 ms | 16.0 | 0 | 19,136 | 30.0 s |
| Sustained decode | 16K | 32 | Valid | 1,043.5 | 32.7 | 355 ms | 30.6 ms | 32.0 | 0 | 31,296 | 30.0 s |
| Sustained decode | 16K | 64 | Over capacity | — | — | — | — | — | — | — | — |
| Sustained decode | 16K | 128 | Over capacity | — | — | — | — | — | — | — | — |
| Sustained decode | 32K | 1 | Valid | 49.6 | 49.6 | 77 ms | 20.2 ms | 1.0 | 0 | 1,488 | 30.0 s |
| Sustained decode | 32K | 2 | Valid | 97.5 | 48.8 | 110 ms | 20.5 ms | 2.0 | 0 | 2,926 | 30.0 s |
| Sustained decode | 32K | 4 | Valid | 186.9 | 46.8 | 193 ms | 21.4 ms | 4.0 | 0 | 5,604 | 30.0 s |
| Sustained decode | 32K | 8 | Valid | 344.6 | 43.1 | 286 ms | 23.2 ms | 8.0 | 0 | 10,336 | 30.0 s |
| Sustained decode | 32K | 16 | Valid | 599.9 | 37.6 | 357 ms | 26.6 ms | 16.0 | 0 | 17,984 | 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 | 49.0 | 135 ms | 20.4 ms | 1.0 | 0 | 1,468 | 30.0 s |
| Sustained decode | 59K | 2 | Valid | 95.5 | 47.8 | 166 ms | 20.9 ms | 2.0 | 0 | 2,864 | 30.0 s |
| Sustained decode | 59K | 4 | Valid | 180.6 | 45.2 | 262 ms | 22.1 ms | 4.0 | 0 | 5,416 | 30.0 s |
| Sustained decode | 59K | 8 | Valid | 325.1 | 40.6 | 355 ms | 24.6 ms | 8.0 | 0 | 9,752 | 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.
