Aan de slagLeaderboardDecode calculatorModellenOrganizationsReportsMatrix runsHardwareBenchmarksMarktplaatsVerhuurProAPI Docs
Taal
Actual Computer — Every computer, one endpoint

Speed test matrix

gemma-4-12B-it on RTX PRO 6000 Blackwell Server Edition 96GB

vllm · 0.30.1rc1.dev452+g73a583112 · BF166 contexts (8K–251K) × 8 concurrency levels (1–128) · prefill at 8K, 16K, 32K, 64K, 128K, 251K, 256K
by @keennaylmx dev importMeasured

Hardware

Type
Discrete GPU
GPU
RTX PRO 6000 Blackwell Server Edition
VRAM
96 GB
OS
linux

Engine

Engine
vllm
Version
0.30.1rc1.dev452+g73a583112
Quantization
BF16
Backend
cuda
Build
cuda-13.2
Commit
73a5831127a9

Run

Served model
gemma
Revision
main
Decode test
Fixed duration
Prefill mode
Measured during decode warm-up
Time per measurement
30 s
Max output
4,096 tokens

Launch command

env MAX_JOBS=2 FLASHINFER_NVCC_THREADS=1 TORCHINDUCTOR_COMPILE_THREADS=1 "$HOME/env_rtxpro6k-redhatai-vllm-73a5831127a9d2b8/bin/vllm" serve RedHatAI/gemma-4-12B-it --served-model-name gemma --trust-remote-code --tensor-parallel-size 1 --reasoning-parser gemma4 --enable-auto-tool-choice --tool-call-parser gemma4 --max-model-len 262144 --gpu-memory-utilization 0.83 --host 0.0.0.0 --port 8000 --api-key <redacted> --async-scheduling

Prefill

prompt tok/s by context length
8K context11K748 ms TTFT
16K context9,8471,651 ms TTFT
32K context7,7634,170 ms TTFT
64K context5,41411,925 ms TTFT
128K context3,36738,305 ms TTFT
251K context1,936130,575 ms TTFT
256K context1,904135,422 ms TTFT

Sustained decode

total tok/s · rows are context length, columns are simultaneous requests
Context1248163264128
8K51.058 ms TTFTLoopedLooped386.4136 ms TTFTLoopedLoopedLoopedOver capacity
16K48.674 ms TTFTLoopedLoopedLoopedLoopedLooped1,570.4949 ms TTFTOver capacity
32K45.8118 ms TTFT91.4168 ms TTFTLoopedLoopedLoopedLoopedOver capacityOver capacity
64K42.4212 ms TTFT84.7296 ms TTFTLoopedLoopedLoopedOver capacityOver capacityOver capacity
128K37.0470 ms TTFT74.0640 ms TTFT147.5930 ms TTFTLoopedOver capacityOver capacityOver capacityOver capacity
251K29.71,065 ms TTFT59.41,439 ms TTFTLoopedOver capacityOver capacityOver capacityOver capacityOver capacity

Looped: the model kept repeating the same text, so the benchmark discarded this measurement. 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.
PhaseContextRequests at onceStatusTotal tok/sPer request tok/sTTFTTime between tokensAverage active requestsCompleted requestsOutput tokensMeasured for
Prefill8K1Valid11K—748 ms——1——
Prefill16K1Valid9,847.0—1,651 ms——1——
Prefill32K1Valid7,763.0—4,170 ms——1——
Prefill64K1Valid5,414.0—11,925 ms——1——
Prefill128K1Valid3,367.0—38,305 ms——1——
Prefill251K1Valid1,936.0—130,575 ms——1——
Prefill256K1Valid1,904.0—135,422 ms——1——
Sustained decode8K1Valid51.051.058 ms19.6 ms1.001,52830.0 s
Sustained decode8K2Looped—————00—
Sustained decode8K4Looped—————00—
Sustained decode8K8Valid386.448.5136 ms20.6 ms8.0011,60030.0 s
Sustained decode8K16Looped—————00—
Sustained decode8K32Looped—————00—
Sustained decode8K64Looped—————00—
Sustained decode8K128Over capacity————————
Sustained decode16K1Valid48.648.674 ms20.6 ms1.001,45830.0 s
Sustained decode16K2Looped—————00—
Sustained decode16K4Looped—————00—
Sustained decode16K8Looped—————00—
Sustained decode16K16Looped—————00—
Sustained decode16K32Looped—————00—
Sustained decode16K64Valid1,570.424.9949 ms40.2 ms64.0047,30230.1 s
Sustained decode16K128Over capacity————————
Sustained decode32K1Valid45.845.8118 ms21.8 ms1.001,37330.0 s
Sustained decode32K2Valid91.445.7168 ms21.9 ms2.002,74030.0 s
Sustained decode32K4Looped—————00—
Sustained decode32K8Looped—————00—
Sustained decode32K16Looped—————00—
Sustained decode32K32Looped—————00—
Sustained decode32K64Over capacity————————
Sustained decode32K128Over capacity————————
Sustained decode64K1Valid42.442.4212 ms23.6 ms1.001,27230.0 s
Sustained decode64K2Valid84.742.4296 ms23.6 ms2.002,54030.0 s
Sustained decode64K4Looped—————00—
Sustained decode64K8Looped—————00—
Sustained decode64K16Looped—————00—
Sustained decode64K32Over capacity————————
Sustained decode64K64Over capacity————————
Sustained decode64K128Over capacity————————
Sustained decode128K1Valid37.037.0470 ms27.0 ms1.001,10930.0 s
Sustained decode128K2Valid74.037.0640 ms27.0 ms2.002,21830.0 s
Sustained decode128K4Valid147.536.8930 ms27.1 ms4.004,42630.0 s
Sustained decode128K8Looped—————00—
Sustained decode128K16Over capacity————————
Sustained decode128K32Over capacity————————
Sustained decode128K64Over capacity————————
Sustained decode128K128Over capacity————————
Sustained decode251K1Valid29.729.81,065 ms33.5 ms1.0089130.0 s
Sustained decode251K2Valid59.429.81,439 ms33.6 ms2.001,78230.0 s
Sustained decode251K4Looped—————00—
Sustained decode251K8Over capacity————————
Sustained decode251K16Over capacity————————
Sustained decode251K32Over capacity————————
Sustained decode251K64Over capacity————————
Sustained decode251K128Over capacity————————

Looped: the model kept repeating the same text, so the benchmark discarded this measurement. Over capacity: not run because this many requests at this context would exceed the server's KV cache.