시작하기리더보드Decode calculator모델OrganizationsReportsMatrix runs하드웨어벤치마크마켓플레이스렌탈ProAPI 문서
언어
Actual Computer — Every computer, one endpoint

Speed test matrix

granite-4.2-3b-nvfp4 on RTX 3090 24GB

vllm · 0.32.0 · NVFP45 contexts (0–120K) × 8 concurrency levels (1–128) · prefill at 8K, 16K, 32K, 64K, 120K
by @Sandbergllm-inference-bench v0.8.0Measured Edited

Hardware

Type
Discrete GPU
GPU
RTX 3090
VRAM
24 GB
CPU
Intel Core i7-9700K (8C)
RAM
32 GB
OS
Ubuntu 24.04.5

Engine

Engine
vllm
Version
0.32.0
Quantization
NVFP4
Backend
cuda
Build
vllm/vllm-openai:v0.32.0-x86_64

Run

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

Launch command

# Untuned out-of-the-box baseline. Spec decode: none. KV cache: int4_per_token_head
# 1x RTX 3090 24GB (Zagitta/gpu-unlock), 420 W limit, PCIe Gen3 x16 | Intel Core i7-9700K 8C | 32 GB DDR4 | Ubuntu 24.04.5, NVIDIA driver 580.178.04
vllm serve ibm-granite/granite-4.2-3b-nvfp4 --max-model-len 131072 --gpu-memory-utilization 0.94 --max-num-seqs 128 --enable-prefix-caching --trust-remote-code --kv-cache-dtype int4_per_token_head --attention-backend TRITON_ATTN

Prefill

prompt tok/s by context length
8K context5,4521,511 ms TTFT
16K context3,4614,714 ms TTFT
32K context2,01716,100 ms TTFT
64K context1,09459,182 ms TTFT
120K context605.0200,484 ms TTFT

Sustained decode

total tok/s · rows are context length, columns are simultaneous requests
Context1248163264128
0154.136 ms TTFT298.015 ms TTFT525.723 ms TTFT908.428 ms TTFT1,448.044 ms TTFT2,481.565 ms TTFT3,673.7114 ms TTFTOver capacity
16K99.378 ms TTFT174.8114 ms TTFT250.5163 ms TTFT321.4222 ms TTFT397.3347 ms TTFT541.3585 ms TTFTOver capacityOver capacity
32K72.2148 ms TTFT121.2225 ms TTFT160.5292 ms TTFT188.6456 ms TTFT221.9693 ms TTFTOver capacityOver capacityOver capacity
64K46.3287 ms TTFT74.4391 ms TTFT92.3569 ms TTFT102.2846 ms TTFTOver capacityOver capacityOver capacityOver capacity
120K28.4Requests queued565 ms TTFT44.4746 ms TTFT52.81,005 ms TTFTOver capacityOver capacityOver capacityOver capacityOver capacity

Requests queued: the server could not run all requests at once, so some waited in a queue. 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
Prefill8K1Valid5,452.0—1,511 ms——1——
Prefill16K1Valid3,461.0—4,714 ms——1——
Prefill32K1Valid2,017.0—16,100 ms——1——
Prefill64K1Valid1,094.0—59,182 ms——1——
Prefill120K1Valid605.0—200,484 ms——1——
Sustained decode01Valid154.1156.936 ms6.4 ms1.004,62130.0 s
Sustained decode02Valid298.0152.315 ms6.6 ms2.008,94030.0 s
Sustained decode04Valid525.7136.123 ms7.3 ms4.0015,77230.0 s
Sustained decode08Valid908.4119.428 ms8.4 ms8.0027,24830.0 s
Sustained decode016Valid1,448.097.344 ms10.3 ms16.0043,44130.0 s
Sustained decode032Valid2,481.584.965 ms11.8 ms32.0074,43230.0 s
Sustained decode064Valid3,673.763.0114 ms15.9 ms64.00110,20830.0 s
Sustained decode0128Over capacity————————
Sustained decode16K1Valid99.399.878 ms10.0 ms1.002,97930.0 s
Sustained decode16K2Valid174.887.9114 ms11.4 ms2.005,24430.0 s
Sustained decode16K4Valid250.563.0163 ms15.9 ms4.007,51630.0 s
Sustained decode16K8Valid321.440.4222 ms24.8 ms8.009,64330.0 s
Sustained decode16K16Valid397.324.9347 ms40.2 ms16.0011,92030.0 s
Sustained decode16K32Valid541.317.0585 ms58.9 ms32.0016,22430.0 s
Sustained decode16K64Over capacity————————
Sustained decode16K128Over capacity————————
Sustained decode32K1Valid72.272.5148 ms13.8 ms1.002,16630.0 s
Sustained decode32K2Valid121.260.8225 ms16.5 ms2.003,63430.0 s
Sustained decode32K4Valid160.540.2292 ms24.9 ms4.004,81630.0 s
Sustained decode32K8Valid188.623.6456 ms42.4 ms8.005,65630.0 s
Sustained decode32K16Valid221.913.9693 ms72.1 ms16.006,65630.0 s
Sustained decode32K32Over capacity————————
Sustained decode32K64Over capacity————————
Sustained decode32K128Over capacity————————
Sustained decode64K1Valid46.346.4287 ms21.6 ms1.001,38930.0 s
Sustained decode64K2Valid74.437.3391 ms26.8 ms2.002,23130.0 s
Sustained decode64K4Valid92.323.1569 ms43.3 ms4.002,76930.0 s
Sustained decode64K8Valid102.212.7846 ms78.5 ms8.003,06430.0 s
Sustained decode64K16Over capacity————————
Sustained decode64K32Over capacity————————
Sustained decode64K64Over capacity————————
Sustained decode64K128Over capacity————————
Sustained decode120K1Requests queued28.428.4565 ms35.2 ms1.0085230.0 s
Sustained decode120K2Valid44.422.2746 ms45.1 ms2.001,33030.0 s
Sustained decode120K4Valid52.813.11,005 ms76.2 ms4.001,58430.0 s
Sustained decode120K8Over capacity————————
Sustained decode120K16Over capacity————————
Sustained decode120K32Over capacity————————
Sustained decode120K64Over capacity————————
Sustained decode120K128Over capacity————————

Requests queued: the server could not run all requests at once, so some waited in a queue. Over capacity: not run because this many requests at this context would exceed the server's KV cache.