Get startedLeaderboardDecode calculatorModelsOrganizationsReportsMatrix runsHardwareBenchmarksMarketplaceRentalsProAPI Docs
Language
Actual Computer — Every computer, one endpoint

Speed test matrix

GLM-5.2-W4A16-MTP on CMP 170HX 64GB ×8

vllm · 0.30.1rc1.dev379+gab60b723a · W4A165 contexts (0–96K) × 8 concurrency levels (1–128) · prefill at 8K, 16K, 32K, 64K, 96K
by @Sandbergllm-inference-bench v0.8.0Measured

Hardware

Type
Discrete GPU
GPU
CMP 170HX
GPU count
8
VRAM
64 GB (8 × 8 GB)
CPU
Intel Core i7-9800X
RAM
128 GB
OS
Ubuntu 26.04.1

Engine

Engine
vllm
Version
0.30.1rc1.dev379+gab60b723a
Quantization
W4A16
Backend
cuda
Build
ghcr.io/morrowmake/vllm-cmp170hx@sha256:0d249835cb8502316403350a3cad9d531b46e5249e4076ecb70faa42067b5b7a

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. Warm room, SYSTIN 30-32 C; power: window-average max 174 W, instantaneous peaks up to 332 W (GA100 reports instantaneous draw); enforced limit 180 W
# 8x NVIDIA CMP 170HX 64GB (cmpunlocker), 180 W limit, PCIe Gen2 x4 per card | i7-9800X | 128 GB DDR4 | Ubuntu 26.04.1, NVIDIA driver 610.57.04 | vLLM: Morrowmake vllm-cmp170hx image
vllm serve canada-quant/GLM-5.2-W4A16-MTP --served-model-name bench --trust-remote-code --pipeline-parallel-size 8 --max-model-len 106496 --gpu-memory-utilization 0.94 --max-num-seqs 128 --enable-prefix-caching --host 0.0.0.0 --port 8000 --reasoning-parser glm47 --hf-overrides '{"index_topk_freq":1}'

Prefill

prompt tok/s by context length
8K context1,8024,550 ms TTFT
16K context2,5286,420 ms TTFT
32K context3,11110,387 ms TTFT
64K context3,36919,146 ms TTFT
96K context3,33428,998 ms TTFT

Sustained decode

total tok/s · rows are context length, columns are simultaneous requests
Context1248163264128
022.0356 ms TTFT37.3203 ms TTFT71.1393 ms TTFT80.9541 ms TTFT122.9713 ms TTFT194.71,054 ms TTFT297.21,673 ms TTFTOver capacity
16K21.1945 ms TTFT40.9359 ms TTFT59.5628 ms TTFT88.9826 ms TTFT129.51,665 ms TTFTOver capacityOver capacityOver capacity
32K20.8497 ms TTFT40.4523 ms TTFT70.4681 ms TTFT114.81,283 ms TTFTOver capacityOver capacityOver capacityOver capacity
64K20.7550 ms TTFT40.3720 ms TTFT78.2961 ms TTFTOver capacityOver capacityOver capacityOver capacityOver capacity
96K20.6731 ms TTFT40.21,050 ms TTFT70.91,238 ms TTFTOver capacityOver capacityOver capacityOver capacityOver 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.
PhaseContextRequests at onceStatusTotal tok/sPer request tok/sTTFTTime between tokensAverage active requestsCompleted requestsOutput tokensMeasured for
Prefill8K1Valid1,802.0—4,550 ms——1——
Prefill16K1Valid2,528.0—6,420 ms——1——
Prefill32K1Valid3,111.0—10,387 ms——1——
Prefill64K1Valid3,369.0—19,146 ms——1——
Prefill96K1Valid3,334.0—28,998 ms——1——
Sustained decode01Valid22.022.0356 ms45.4 ms1.0066030.0 s
Sustained decode02Valid37.318.9203 ms52.9 ms2.001,11930.0 s
Sustained decode04Valid71.117.8393 ms56.3 ms4.002,13430.0 s
Sustained decode08Valid80.910.4541 ms96.2 ms8.002,42530.0 s
Sustained decode016Valid122.98.2713 ms121.3 ms16.003,68130.0 s
Sustained decode032Valid194.76.51,054 ms155.0 ms32.005,82229.9 s
Sustained decode064Valid297.24.81,673 ms207.4 ms64.008,89329.9 s
Sustained decode0128Over capacity————————
Sustained decode16K1Valid21.121.2945 ms47.3 ms1.0063430.0 s
Sustained decode16K2Valid40.920.4359 ms49.0 ms2.001,22730.0 s
Sustained decode16K4Valid59.514.9628 ms67.2 ms4.001,78430.0 s
Sustained decode16K8Valid88.911.1826 ms90.2 ms8.002,66129.9 s
Sustained decode16K16Valid129.58.11,665 ms123.0 ms16.003,87429.9 s
Sustained decode16K32Over capacity————————
Sustained decode16K64Over capacity————————
Sustained decode16K128Over capacity————————
Sustained decode32K1Valid20.820.8497 ms48.0 ms1.0062430.0 s
Sustained decode32K2Valid40.420.1523 ms49.7 ms2.001,21230.0 s
Sustained decode32K4Valid70.417.5681 ms57.0 ms4.002,11330.0 s
Sustained decode32K8Valid114.814.31,283 ms70.0 ms8.003,44030.0 s
Sustained decode32K16Over capacity————————
Sustained decode32K32Over capacity————————
Sustained decode32K64Over capacity————————
Sustained decode32K128Over capacity————————
Sustained decode64K1Valid20.720.7550 ms48.2 ms1.0062130.0 s
Sustained decode64K2Valid40.320.2720 ms49.6 ms2.001,21030.0 s
Sustained decode64K4Valid78.219.5961 ms51.4 ms4.002,34730.0 s
Sustained decode64K8Over capacity————————
Sustained decode64K16Over capacity————————
Sustained decode64K32Over capacity————————
Sustained decode64K64Over capacity————————
Sustained decode64K128Over capacity————————
Sustained decode96K1Valid20.620.7731 ms48.4 ms1.0061930.0 s
Sustained decode96K2Valid40.220.11,050 ms49.7 ms2.001,20530.0 s
Sustained decode96K4Valid70.917.61,238 ms56.8 ms4.002,12630.0 s
Sustained decode96K8Over capacity————————
Sustained decode96K16Over capacity————————
Sustained decode96K32Over capacity————————
Sustained decode96K64Over capacity————————
Sustained decode96K128Over capacity————————

Over capacity: not run because this many requests at this context would exceed the server's KV cache.