Qwen3.8-Flash-Next NVFP4 DGX Spark GB10 SGLang MTP-213 262K
00 upvotes — sign in to vote sign in to votecommunity Community submission — verify on your own hardware.
recipe by Felliks↗, sgl-project (SGLang + official MTP-213 profile)↗ · listed by localai-recipes
revision r2 · commit 28fe705dac · updated 10 d ago · license CC-BY-4.0
chat code mtp-speculative bf16-kv sglang nvme-ple dgx-spark gb10 sm121 felliks asus-ascent-gx10 eager-decode
Native-262K-context DGX Spark recipe for RadixArk/Qwen3.8-Flash-Next-NVFP4, validated on ASUS Ascent GX10 (same GB10 / 128GB unified memory as NVIDIA DGX Spark): the NVFP4 checkpoint is 135.24 GB and stock PLE host offload still lands the whole 51.2 GB table in host memory - but host memory and VRAM are the SAME 128 GB pool on GB10 - so this recipe adds two source-hash-guarded patches to a pinned SGLang image: (1) verified raw FP8 mmap keeps the full PLE table on NVMe with a bounded 256 MiB four-way pinned row cache for decode lookups (large prefill lookups bypass it), (2) QSA decode uses a PyTorch SDPA fallback on SM121 because the pinned FlashAttention-4 varlen path does not compile on GB10. prepare step converts the checkpoint's 128 FP8 PLE shards into a contiguous 51.2 GB mmap and byte-verifies 256 deterministic rows against the safetensors source. Official SGLang MTP-213 profile (2 speculative steps / top-k 1 / 3 draft tokens). Author-measured 2026-08-26 (benchmarks/asus-ascent-gx
Launch command
sglang serve --model-path RadixArk/Qwen3.8-Flash-Next-NVFP4 --revision 7b719225242aacd3dbd3f9407468c2ee9a9d2594 --served-model-name qwen38-flash-next-nvfp4-mtp --trust-remote-code --host 0.0.0.0 --port 30000 --quantization modelopt_fp4 --fp4-gemm-backend flashinfer_cutlass --page-size 64 --mamba-radix-cache-strategy extra_buffer --mamba-track-interval 64 --max-mamba-cache-size 20 --mamba-ssm-dtype float32 --chunked-prefill-size 4096 --max-running-requests 4 --max-total-tokens 524288 --context-length 262144 --mem-fraction-static 0.95 --allow-auto-truncate --ple-offload-embedding --reasoning-parser qwen3 --tool-call-parser qwen3_coder --preferred-sampling-params '{"temperature":1.0,"top_p":0.95,"top_k":20,"min_p":0.0,"presence_penalty":0.0,"repetition_penalty":1.0}' --disable-prefill-cuda-graph --cuda-graph-backend-decode disabled --disable-flashinfer-autotune --speculative-algorithm NEXTN --speculative-num-steps 2 --speculative-eagle-topk 1 --speculative-num-draft-tokens 3runtime
env: 'SGLANG_QWEN4_PLE_DISK_CACHE_PATH=/ple-cache/ple-fp8.raw | SGLANG_QWEN4_PLE_DISK_CACHE_MANIFEST=/ple-cache/ple-fp8.raw.json | SGLANG_QWEN4_PLE_SOURCE_REVISION=7b719225242aacd3dbd3f9407468c2ee9a9d2594 | SGLANG_QWEN4_PLE_CACHE_BYTES=268435456 | SGLANG_QWEN4_PLE_CACHE_MAX_LOOKUP_ROWS=4096'
notes: 'Serve profile = run-spark.sh serve() @ 5187a06c verbatim (docker run -d --rm --init --gpus all --ipc host --shm-size 16g --memory 116g --memory-swap 116g --cpuset-cpus 0-19 -p 127.0.0.1:8000:30000; mounts HF cache + sglang cache + ple-cache ro; local image qwen38-flash-next-gx10:73a255-ple-disk-v3). MTP-213 = SGLang official profile for this model (lmsys.org blog 2026-08-26): 2 steps / top-k 1 / 3 draft. KV BF16 (SM121 eager QSA path rejects FP8 K/V - tested). Decode EAGER by design: disk-fed PLE rows cannot be captured as fixed host pointers in a CUDA graph; prefill graph disabled. Default sampling for thinking = temp 1.0/top_p 0.95/top_k 20/min_p 0.0; non-thinking per request = temp 0.7/top_p 0.80/top_k 20/presence_penalty 1.5 (Qwen model card). Overrides: API_PORT, QWEN_NEXT_DATA_DIR, CPUSET, BIND_ADDR (default 127.0.0.1 - do not expose unauthenticated endpoint publicly). Known limits: 4 active requests share the 524K pool (two full 262K contexts max); TP=1 only for disk-backed PLE.'
Use this recipe with your agent
Paste this into any agent chat — it fetches and applies the recipe:
Fetch https://localairecipes.com/api/v1/recipes/qwen3-8-flash-next-nvfp4-dgx-spark-gb10-sglang-mtp-213-262k.json and apply the inference recipe it describes (engine flags, model, quant, context) to my setup. Ask before overwriting any existing config.Or fetch it directly:
curl -fsSL https://localairecipes.com/api/v1/recipes/qwen3-8-flash-next-nvfp4-dgx-spark-gb10-sglang-mtp-213-262k.jsonDownloads
- Weights https://huggingface.co/RadixArk/Qwen3.8-Flash-Next-NVFP4revision 7b719225242aacd3dbd3f9407468c2ee9a9d2594 (135.24 GB NVFP4 checkpoint; 128 FP8 PLE shards -> contiguous 51.2 GB mmap via prepare_ple.py, 256-row byte verification)
- Engine image https://hub.docker.com/r/lmsysorg/sglanglmsysorg/sglang @ sha256:14ed582518584c5c830206b5318a2c2769e68229c3422e48a28b952b3a888bd4 (commit d91c3682b0b429e4c70df63cd57f819588ce29b0, qwen4 source 73a255206f916366c8d26d4022f82ddfb0ab558d) + 2 source-hash-guarded patches (PLE disk cache, SM121 QSA SD
- Reference https://github.com/Felliks/qwen38-flash-next-one-dgx-spark5187a06c6c44a894ab6df2c7f07e005e1f8e66b9 - run-spark.sh (prepare/serve/smoke/status), Dockerfile, patch_qwen4_ple_disk_cache.py, patch_sm121_qsa_sdpa.py, prepare_ple.py, benchmarks/asus-ascent-gx10-2026-08-26.json, GitHub Actions validate workflow
Revision notes
Ingested from GitHub repo Felliks/qwen38-flash-next-one-dgx-spark @ 5187a06c6c44a894ab6df2c7f07e005e1f8e66b9 (wave 3, kanban t_21a3a083). Validated on ASUS Ascent GX10; NVIDIA DGX Spark confirmations requested by author (same GB10 silicon - profile dgx-spark covers both, exact variant in tooltip/notes). Apache-2.0 code; Qwen Community License 1.0 weights. Measurements are from the included pinned checkpoint and launch path, not estimates copied from another GPU (author's statement).
Revision history
- 54e4416d5c recipe: update qwen3-8-flash-next-nvfp4-dgx-spark-gb10-sglang-mtp-213-262k (r2: /max_context_len, /kv_pool_tokens) 10 d ago diff
- 2d9ac4e8ee recipe: create qwen3-8-flash-next-nvfp4-dgx-spark-gb10-sglang-mtp-213-262k 23 d ago diff
- 8717df2959 wave-3 fix: remove same-run mislinked dgx-spark ingests (hw.card resolved to legacy silent-created profile; re-ingesting with corrected card stem) t_21a3a083 23 d ago diff
- 8fa644a0c0 recipe: create qwen3-8-flash-next-nvfp4-dgx-spark-gb10-sglang-mtp-213-262k 23 d ago
Fork
Sign in to fork this recipe — a fork is your own copy; you own it and only you can update it.