cd /news/large-language-models/qwen3-8-flash-next-ud-q4-k-xl-on-one… · home topics large-language-models article
[ARTICLE · art-112762] src=gist.github.com ↗ pub= topic=large-language-models verified=true sentiment=· neutral

Qwen3.8-Flash-Next UD-Q4_K_XL on one DGX Spark: 128K ctx + q8 KV (fix for qwen4exp self_k_rot assert)

A developer tested the Qwen3.8-Flash-Next model on an NVIDIA DGX Spark (GB10, 128 GB unified memory) using llama.cpp with quantized KV cache, achieving 128K context and 414 tok/s prefill. They identified a fix for a llama.cpp assertion failure by disabling Hadamard attention rotation via the LLAMA_ATTN_ROT_DISABLE=1 environment variable. The setup used a UD-Q4_K_XL quantized GGUF from unsloth and an optional vision mmproj, with performance metrics recorded.

read2 min views1 publishedAug 26, 2026

Tested 2026-08-26 on a DGX Spark (GB10, 128 GB unified). Measured, not estimated.

With -ctk q8_0 -ctv q8_0

, llama.cpp PR #27742 (qwen4exp

) dies at load:

src/models/qwen4exp.cpp:544: GGML_ASSERT(inp->self_k_rot == nullptr && inp->self_v_rot == nullptr) failed

Cause: a quantized KV cache auto-enables llama.cpp's Hadamard "attention rotation" on K/V, and the qwen4exp QSA sparse-attention path doesn't support rotated caches yet.

Fix: disable the rotation with an env var.

LLAMA_ATTN_ROT_DISABLE=1
  • llama.cpp: PR #27742 ( qwen4exp

), commit035e22731

, CUDA build - Weights: unsloth/Qwen3.8-Flash-Next-GGUF

UD-Q4_K_XL/

(4 shards, 103.7 GiB) - Optional vision: DevQuasar/Qwen.Qwen3.8-Flash-Next-GGUF

mmproj-…-f16.gguf

LLAMA_ATTN_ROT_DISABLE=1 ./build/bin/llama-server \
  -m UD-Q4_K_XL/Qwen3.8-Flash-Next-UD-Q4_K_XL-00001-of-00004.gguf \
  --mmproj mmproj-Qwen.Qwen3.8-Flash-Next.f16.gguf \
  --host 0.0.0.0 --port 8000 \
  -ngl 999 -c 131072 -np 1 -fa on --jinja -t 20 \
  -ctk q8_0 -ctv q8_0 \
  --load-mode mmap --override-tensor 'per_layer_token_embd=CPU' \
  --reasoning-format auto

Notes:

--override-tensor 'per_layer_token_embd=CPU'

+--load-mode mmap

keeps the 51B n-gram / PLE table mmap'd from SSD instead of resident. On unified memory that's the only "offload" that actually frees anything — host-offload flags are meaningless when host RAM == GPU RAM.- Load takes ~5 minutes. You'll see one NVRM: ... Out of memory [NV_ERR_NO_MEMORY]

line in dmesg during the mmap page-in. It's harmless; the server comes up anyway. -np 1

: one 128K slot. Only the full-attention layers have a KV cache to quantize — the GDN/linear layers keep recurrent state regardless, so KV is cheap either way.- Free memory first: everything else on the box has to be down (other models, TTS, embed servers). Baseline here was ~11 GB used before launch.

| Idle after load | 89 GB used / 32 GB available | | 30,183-token prompt | prefill 414 tok/s (73 s), gen 15.7 tok/s | | Peak during that prompt | 91 GB used / 30 GB spare | | Short prompt gen | ~18.5 tok/s |

Output coherent; thinking on/off via chat_template_kwargs.enable_thinking

works; reasoning_content

populated.

── more in #large-language-models 4 stories · sorted by recency
── more on @qwen3.8-flash-next 3 stories trending now
sponsored brought to you by zahid.host 4,200+ EU-deployed projects
reading about agents? ship yours in a single git push.

Run your AI side-project on zahid.host

EU-based hosting, git-push deploys, automatic HTTPS, no cold starts. Free tier with a custom domain — perfect for shipping the agent you just read about.

$git push zahid main
Live at https://your-agent.zahid.host
Get free account → Pricing
from €0/mo · no card required
LIVE [news/qwen3-8-flash-next-u…] indexed:0 read:2min 2026-08-26 ·