BaşlarkenLiderlik tablosuDecode calculatorModellerOrganizationsReportsMatrix runsDonanımKarşılaştırmalı DeğerlendirmelerPazar yeriKiralıklarProAPI Dokümanlar
Dil
Actual Computer — Every computer, one endpoint

Speed test matrix

Qwen3.8-Flash-Next-exl3 on CMP 170HX 64GB ×2

vllm · 0.32.0rc1.dev249+g18305948a · EXL3 5.05 bpw6 contexts (0–248K) × 8 concurrency levels (1–128) · prefill at 8K, 16K, 32K, 64K, 128K
by @Sandbergllm-inference-bench v0.8.0Measured

Hardware

Type
Discrete GPU
GPU
CMP 170HX
GPU count
2
VRAM
64 GB (2 × 32 GB)
CPU
2x Intel Xeon E5-2630 v3
RAM
64 GB
OS
Ubuntu 26.04.1

Engine

Engine
vllm
Version
0.32.0rc1.dev249+g18305948a
Quantization
EXL3 5.05 bpw
Backend
cuda
Build
ghcr.io/morrowmake/vllm-cmp170hx@sha256:5b45c4d6feafefe2eba962375b0a9a0b64fd22b9e05abb4d1966f14a32a2db79

Run

Served model
qwen3.8-flash-next
Revision
5.05bpw_h6_ng6
Decode test
Fixed duration
Prefill mode
Measured during decode warm-up
Time per measurement
30 s
Max output
8,192 tokens

Launch command

# Published recipe run as-is: Morrowmake's qwen38-flash-next-cmp170hx-recipe (github.com/Morrowmake/qwen38-flash-next-cmp170hx-recipe @ 3506c23587) on the vllm-cmp170hx engine image. Thank you Morrowmake for the recipe and engine, and turboderp for the EXL3 weights. Only the port and local model path were set. The recipe was measured on x16 links; these cards run at PCIe Gen2 x4. Spec decode: MTP, 3 tokens lookahead. KV cache: bfloat16
# 2x NVIDIA CMP 170HX 64GB (cmpunlocker), 180 W limit each, PCIe Gen2 x4 links | 2x Intel Xeon E5-2630 v3 | 64 GB DDR4 | Ubuntu 26.04.1, NVIDIA driver 610.57.04
git clone https://github.com/Morrowmake/qwen38-flash-next-cmp170hx-recipe && cd qwen38-flash-next-cmp170hx-recipe && git checkout 3506c23587 && ./start.sh
# serve.sh launches: vllm serve Qwen3.8-Flash-Next-exl3 --tensor-parallel-size 2 --enable-expert-parallel --dtype bfloat16 --kv-cache-dtype bfloat16 --load-format exl3 --max-model-len 262144 --gpu-memory-utilization 0.95 --max-num-seqs 8 --max-num-batched-tokens 3460 --compilation-config {"cudagraph_mode":"PIECEWISE"} --speculative-config {"method":"mtp","num_speculative_tokens":3}

Prefill

prompt tok/s by context length
8K context1,3885,906 ms TTFT
16K context1,42911,315 ms TTFT
32K context1,44922,200 ms TTFT
64K context1,46243,871 ms TTFT
128K context1,45987,741 ms TTFT

Sustained decode

total tok/s · rows are context length, columns are simultaneous requests
Context1248163264128
044.4277 ms TTFT92.6325 ms TTFT173.62,092 ms TTFT278.0591 ms TTFT271.4Requests queued646 ms TTFT276.6Requests queued712 ms TTFT267.1Requests queued809 ms TTFTOver capacity
16K41.2271 ms TTFT90.4340 ms TTFT176.2635 ms TTFT271.9955 ms TTFT282.6Requests queued1,055 ms TTFT271.8Requests queued1,136 ms TTFTOver capacityOver capacity
32K50.2393 ms TTFT92.3466 ms TTFT183.9663 ms TTFT279.51,204 ms TTFT287.6Requests queued1,262 ms TTFTOver capacityOver capacityOver capacity
64K45.1528 ms TTFT96.6715 ms TTFT181.81,112 ms TTFT285.11,876 ms TTFTOver capacityOver capacityOver capacityOver capacity
128K47.0915 ms TTFT102.61,241 ms TTFT191.81,661 ms TTFTOver capacityOver capacityOver capacityOver capacityOver capacity
248K48.01,579 ms TTFT97.42,263 ms TTFTOver capacityOver 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
Prefill8K1Valid1,388.0—5,906 ms——1——
Prefill16K1Valid1,429.0—11,315 ms——1——
Prefill32K1Valid1,449.0—22,200 ms——1——
Prefill64K1Valid1,462.0—43,871 ms——1——
Prefill128K1Valid1,459.0—87,741 ms——1——
Sustained decode01Valid44.444.8277 ms22.3 ms1.001,33130.0 s
Sustained decode02Valid92.646.6325 ms21.6 ms2.002,77530.0 s
Sustained decode04Valid173.640.52,092 ms24.7 ms4.005,20930.0 s
Sustained decode08Valid278.035.9591 ms27.9 ms8.008,33030.0 s
Sustained decode016Requests queued271.434.7646 ms28.8 ms8.008,12729.9 s
Sustained decode032Requests queued276.633.3712 ms30.1 ms8.008,29730.0 s
Sustained decode064Requests queued267.134.5809 ms29.0 ms8.008,00930.0 s
Sustained decode0128Over capacity————————
Sustained decode16K1Valid41.242.5271 ms23.5 ms1.001,23630.0 s
Sustained decode16K2Valid90.445.2340 ms22.1 ms2.002,71230.0 s
Sustained decode16K4Valid176.244.6635 ms22.4 ms4.005,28030.0 s
Sustained decode16K8Valid271.934.8955 ms28.7 ms8.008,14229.9 s
Sustained decode16K16Requests queued282.634.41,055 ms29.1 ms8.008,47530.0 s
Sustained decode16K32Requests queued271.834.31,136 ms29.1 ms8.008,15530.0 s
Sustained decode16K64Over capacity————————
Sustained decode16K128Over capacity————————
Sustained decode32K1Valid50.250.7393 ms19.7 ms1.001,50730.0 s
Sustained decode32K2Valid92.346.6466 ms21.5 ms2.002,76730.0 s
Sustained decode32K4Valid183.945.0663 ms22.2 ms4.005,51330.0 s
Sustained decode32K8Valid279.535.71,204 ms28.0 ms8.008,38430.0 s
Sustained decode32K16Requests queued287.635.01,262 ms28.6 ms8.008,61429.9 s
Sustained decode32K32Over capacity————————
Sustained decode32K64Over capacity————————
Sustained decode32K128Over capacity————————
Sustained decode64K1Valid45.146.7528 ms21.4 ms1.001,35230.0 s
Sustained decode64K2Valid96.648.9715 ms20.5 ms2.002,89830.0 s
Sustained decode64K4Valid181.845.21,112 ms22.1 ms4.005,45130.0 s
Sustained decode64K8Valid285.134.61,876 ms28.9 ms8.008,53729.9 s
Sustained decode64K16Over capacity————————
Sustained decode64K32Over capacity————————
Sustained decode64K64Over capacity————————
Sustained decode64K128Over capacity————————
Sustained decode128K1Valid47.047.2915 ms21.2 ms1.001,40830.0 s
Sustained decode128K2Valid102.652.41,241 ms19.1 ms2.003,07630.0 s
Sustained decode128K4Valid191.847.21,661 ms21.2 ms4.005,75330.0 s
Sustained decode128K8Over capacity————————
Sustained decode128K16Over capacity————————
Sustained decode128K32Over capacity————————
Sustained decode128K64Over capacity————————
Sustained decode128K128Over capacity————————
Sustained decode248K1Valid48.048.91,579 ms20.4 ms1.001,43830.0 s
Sustained decode248K2Valid97.449.22,263 ms20.3 ms2.002,92130.0 s
Sustained decode248K4Over capacity————————
Sustained decode248K8Over capacity————————
Sustained decode248K16Over capacity————————
Sustained decode248K32Over capacity————————
Sustained decode248K64Over capacity————————
Sustained decode248K128Over 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.