Qwen3.8-27B NVFP4

Qwen3.8-27B-NVFP4 on RTX 5090 — Gustav's Recipe

model  qwen-27b-fp4serving  llama.cpp b10796-9a4843cf2context  256,256 tokparams  27B Q4_K - Smallhardware  RTX 5090 · single slotrecipe  Gustav's RecipeGustav RLo  @gustavrlo

01Recipe notes

Calibrated DFlash2 draft model (NVFP4 GGUF, Q8_0 & Q4_K_M variants) with n_draft=7 and p_min=0.75 — more accepted draft tokens per verification step, which is where most of the decode speed comes from.
Target: unsloth Qwen3.8-27B UD-Q4_K_XL GGUF (17.9 GB), all layers on GPU, F16 KV cache, FA auto
256K ctx configured (16K active slot).
Perceived stability on longer reasoning and large context has been good so far — single-agent serving profile, no concurrency.

02Decode throughput

Per-request decode rate and aggregate throughput at each concurrency level. Output capped at 384 tokens, temperature 0, thinking disabled.

single-stream decode
56.47 tok/s
c1 · mean of 3 runs
best aggregate throughput
54.86 tok/s
c1 · all batches
decode budget
384 tok
per request, temp 0
concurrencyper-req decodemin – maxttft meanaggregate
c13 reqs · 3 batch(es)56.47 tok/s54.37 – 58.50 210.1 ms54.86 tok/s

03Prefill & TTFT by prompt size

Time to first token as the prompt grows. Cold = first request for that size; warm = repeated identical prompt (prefix-cached prefill).

prompt sizettft coldttft warmprefill rate
~256actual 192 tokens1,638.9 ms2,025.4 ms95 tok/s
~1,000actual 719 tokens437.4 ms131.7 ms5,459 tok/s
~4,000actual 2,765 tokens1,270.0 ms124.6 ms22,191 tok/s
~8,000actual 5,691 tokens2,815.5 ms149.2 ms38,143 tok/s
~12,000actual 8,531 tokens4,349.0 ms140.6 ms60,676 tok/s

04Prefix cache effect

Identical ~8000-token prompt sent repeatedly. The ratio shows how much the serving stack saves on cache hits.

ttft cold
2,661.5 ms
first request, ~5,691 tokens
ttft repeated
127.1 ms
identical prompt, prefix cache hit
cache speedup
20.94×
cold / repeated TTFT