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

Speed test matrix

DeepSeek-V4.1-Flash-1017 on CMP 170HX 64GB ×4

vllm · 0.32.0rc1.dev586+ga0c57b523 · EXL36 contexts (0–248K) × 5 concurrency levels (1–16) · prefill at 8K, 16K, 32K, 64K, 128K
by @Sandbergllm-inference-bench v0.8.0Measured

Hardware

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

Engine

Engine
vllm
Version
0.32.0rc1.dev586+ga0c57b523
Quantization
EXL3
Backend
cuda
Build
ghcr.io/morrowmake/vllm-cmp170hx@sha256:f67d9be47ffbd4a8b84c77fe76bdb3f842187d9b2786fff573e390ae5361bfb0

Run

Served model
m
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

# x299 recipe as deployed (not an untuned baseline). Spec decode: DSPARK, 7 tokens lookahead. Warm room, SYSTIN 23-29 C; instantaneous power peaks up to 222 W (GA100 reports instantaneous draw); enforced limit 180 W
# 4x NVIDIA CMP 170HX 64GB (cmpunlocker), 180 W limit, PCIe Gen2 x4 per card | i7-9800X | 128 GB DDR4 | Ubuntu 26.04.1, driver 610.57.04 | vLLM: Morrowmake vllm-cmp170hx image
# Checkpoint: hybrid built with Morrowmake's dsv41-flash-cmp170hx recipe: routed experts EXL3 2.9 bpw from LibertAIDAI/DeepSeek-V4.1-Flash-1017-EXL3-2.9bpw, all other weights DeepSeek's own FP8 from deepseek-ai/DeepSeek-V4.1-Flash-1017. Thanks to Morrowmake and LibertAIDAI.
vllm serve /models/DeepSeek-V4.1-Flash-1017-hybrid-exl3-fp8 --host 0.0.0.0 --served-model-name m --max-model-len 262144 --gpu-memory-utilization 0.95 --max-num-seqs 8 --max-num-batched-tokens 2048 --port 8000 --hf-overrides '{"engram_table_dir":"/models/DeepSeek-V4.1-Flash-1017-engram"}' --load-format exl3 --enable-expert-parallel --mm-encoder-tp-mode data --kv-cache-dtype bfloat16 --reasoning-parser deepseek_v41 --enable-auto-tool-choice --tool-call-parser deepseek_v41 --compilation-config '{"cudagraph_mode":"FULL_DECODE_ONLY","cudagraph_capture_sizes":[2,3,4,5,6,8,9,10,12,14,15,16,18,20,21,24,25,28,30,32,35,36,40,42,48]}' --speculative-config '{"method":"dspark","num_speculative_tokens":7,"adaptive_k":{"by_load":[7,5,5,5,5,5,5,5,1,2,3,4,5],"draft_by_load":true},"enable_adaptive_verification":false}' --prefill-chunk-with-decodes 512 --exclude-tools-when-tool-choice-none --tensor-parallel-size 4 --pipeline-parallel-size 1

Prefill

prompt tok/s by context length
8K context1,2806,354 ms TTFT
16K context1,46410,983 ms TTFT
32K context1,48321,577 ms TTFT
64K context1,45443,901 ms TTFT
128K context1,40890,543 ms TTFT

Sustained decode

total tok/s · rows are context length, columns are simultaneous requests
Context124816
081.7291 ms TTFT111.6443 ms TTFT174.4888 ms TTFT221.31,535 ms TTFT215.1Requests queued1,527 ms TTFT
16K86.4627 ms TTFT98.5852 ms TTFT174.01,693 ms TTFT215.82,569 ms TTFT215.1Requests queued2,570 ms TTFT
32K77.6739 ms TTFT103.5997 ms TTFT176.61,931 ms TTFT216.32,740 ms TTFT208.4Requests queued2,794 ms TTFT
64K76.21,004 ms TTFT105.11,304 ms TTFT164.02,513 ms TTFT210.02,888 ms TTFT205.4Requests queued2,933 ms TTFT
128K73.1955 ms TTFT97.81,137 ms TTFT156.91,647 ms TTFT197.92,600 ms TTFTOver capacity
248K60.7Requests queued1,558 ms TTFT85.22,011 ms TTFT140.32,775 ms TTFTOver 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,280.0—6,354 ms——1——
Prefill16K1Valid1,464.0—10,983 ms——1——
Prefill32K1Valid1,483.0—21,577 ms——1——
Prefill64K1Valid1,454.0—43,901 ms——1——
Prefill128K1Valid1,408.0—90,543 ms——1——
Sustained decode01Valid81.783.0291 ms12.1 ms1.002,45130.0 s
Sustained decode02Valid111.655.7443 ms18.0 ms2.003,34430.0 s
Sustained decode04Valid174.444.2888 ms22.6 ms4.005,23130.0 s
Sustained decode08Valid221.327.71,535 ms36.1 ms8.006,63330.0 s
Sustained decode016Requests queued215.127.41,527 ms36.5 ms8.006,44930.0 s
Sustained decode16K1Valid86.485.5627 ms11.7 ms1.002,59130.0 s
Sustained decode16K2Valid98.550.5852 ms19.8 ms2.002,95230.0 s
Sustained decode16K4Valid174.043.21,693 ms23.2 ms4.005,21730.0 s
Sustained decode16K8Valid215.826.72,569 ms37.5 ms8.006,46830.0 s
Sustained decode16K16Requests queued215.126.92,570 ms37.2 ms8.006,44430.0 s
Sustained decode32K1Valid77.678.5739 ms12.7 ms1.002,32830.0 s
Sustained decode32K2Valid103.551.5997 ms19.4 ms2.003,10330.0 s
Sustained decode32K4Valid176.643.81,931 ms22.8 ms4.005,29430.0 s
Sustained decode32K8Valid216.326.62,740 ms37.5 ms8.006,48030.0 s
Sustained decode32K16Requests queued208.426.22,794 ms38.2 ms8.006,24730.0 s
Sustained decode64K1Valid76.276.11,004 ms13.1 ms1.002,28630.0 s
Sustained decode64K2Valid105.152.31,304 ms19.2 ms2.003,15030.0 s
Sustained decode64K4Valid164.041.02,513 ms24.4 ms4.004,91730.0 s
Sustained decode64K8Valid210.025.32,888 ms39.5 ms8.006,29330.0 s
Sustained decode64K16Requests queued205.425.62,933 ms39.1 ms8.006,15930.0 s
Sustained decode128K1Valid73.173.2955 ms13.7 ms1.002,19130.0 s
Sustained decode128K2Valid97.848.71,137 ms20.5 ms2.002,93330.0 s
Sustained decode128K4Valid156.938.81,647 ms25.8 ms4.004,70130.0 s
Sustained decode128K8Valid197.924.12,600 ms41.5 ms8.005,93330.0 s
Sustained decode128K16Over capacity————————
Sustained decode248K1Requests queued60.762.91,558 ms15.9 ms1.001,82030.0 s
Sustained decode248K2Valid85.242.62,011 ms23.5 ms2.002,55330.0 s
Sustained decode248K4Valid140.334.82,775 ms28.8 ms4.004,20730.0 s
Sustained decode248K8Over capacity————————
Sustained decode248K16Over 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.