Skip to content

[Doc] cookbook: Add SemiAnalysis AgentX launches to Muse Spark Open, refresh DeepSeek-V4.1-Flash - #44654

Merged
nvpohanh merged 1 commit into
sgl-project:mainfrom
nvpohanh:pohanh/cookbook-agentx-musespark-1015
Oct 16, 2026
Merged

nvpohanh merged 1 commit into
sgl-project:mainfrom
nvpohanh:pohanh/cookbook-agentx-musespark-1015

Conversation

@nvpohanh

@nvpohanh nvpohanh commented Oct 16, 2026 •

Copy link
Copy Markdown
Collaborator

[by Claude Code]

Motivation

The cookbook's Agentic Long-Context Deployment sections (#42726, #43083, #43799, #43983, #44065, #44228) mirror SemiAnalysis InferenceX AgentX submissions as raw launch commands, each linked to the run that measured it. This PR:

  1. Adds the section to the new Muse Spark Open page ([Cookbook] Add cookbook for muse spark open #44527), right after the Playground as on the other pages. It covers the four Muse Spark Open SGLang AgentX lanes that SemiAnalysis is adding for B200, B300, GB200 and GB300.
  2. Refreshes DeepSeek-V4.1-Flash to three open InferenceX PRs that retune its B200, B300 and GB200 SGLang curves.
  3. Syncs to InferenceX main (c08eb51d), which has merged InferenceX #2978 (a new Qwen3.5 lane), InferenceX #3953, and the first two Muse Spark Open lanes (InferenceX #4147, InferenceX #4140).

Source

InferenceX main (c08eb51d), with these InferenceX PRs:

PR Page Lane Pinned to
#4147 Muse Spark Open NVFP4 B200 (merged) Muse Spark Open musespark-fp4-b200-sglang-agentic-dflash run 38825822770 (/use, now the dashboard run on main), verified
#4140 Muse Spark Open GB200 (merged) Muse Spark Open musespark-fp4-gb200-sglang-agentic-dflash run 38834513220 (/use, now the dashboard run on main), verified
#4146 Muse Spark Open NVFP4 B300 Muse Spark Open musespark-fp4-b300-sglang-agentic-dflash in progress at head a23546be
#4141 Muse Spark Open GB300 Muse Spark Open musespark-fp4-gb300-sglang-agentic-dflash in progress at head d3850c45
#4112 DSV4.1-Flash GB200 SGLang DeepSeek-V4.1 dsv41flash-fp4-gb200-sglang-agentic-dspark in progress at head b260d0e4
#4111 DSV4.1-Flash B200 SGLang DeepSeek-V4.1 dsv41flash-fp4-b200-sglang-agentic-dspark run 38749770474 (/use), verified
#4094 DSV4.1-Flash B300 SGLang DeepSeek-V4.1 dsv41flash-fp4-b300-sglang-agentic-dspark run 38705241139 (/use), verified

#4147 and #4140 merged while this PR was being prepared, so their lanes now come from main, pinned to the run the dashboard shows (the same runs their /use comments named). The other five are overlaid. "In progress" lanes have no /use run yet. They are rendered at the PR head and labeled "In progress in SA InferenceX AgentX". A later sync pins them once they have a /use run or merge.

The two overlays of #44228 also merged into InferenceX main: #3953 and #3927. The GB200 lane of #3927 is now replaced by #4112.

What this PR does

Page Lanes Deployments Points Hardware
GLM-5.2 16 27 67 GB300, GB200, B300, B200, H200
DeepSeek-V4 10 20 61 GB300, GB200, B300, B200, H200
DeepSeek-V4.1 9 22 73 GB300, GB200, B300, B200, H200, H100
Qwen3.5 19 50 221 GB300, GB200, B300, B200, H200, H100
Qwen3.8-Flash-Next 4 4 22 GB300, B300, B200, H200
Muse Spark Open (new) 4 4 40 GB300, GB200, B300, B200
  • Muse Spark Open (new section). One deployment per platform: aggregated TP4·EP4 with DFlash speculative decoding (8-token blocks, draft RadixArk/Muse-Spark-Open-DFlash2), prefill sequence parallelism with MegaMoE (--enable-layernorm-sp --enable-megamoe-for-layernorm-sp) and an FP8 KV cache. The image is lmsysorg/sglang:dev-muse-spark-open@sha256:8cfc5a72…, the same image the page's install section names.

    • Concurrencies: GB300 c1–c32 (12 points), GB200 c1–c32 (10 points, measured with HiCache), B300 c1–c128 (10 points), B200 c1–c32 (8 points). B200 and GB200 are verified; B300 and GB300 are in progress.
    • KV offload: GB200 shows its measured HiCache tier and the derived "no offload" and Mooncake tiers. The other three platforms offer no offload (measured) and Mooncake (derived). HiCache is not available there: the only Muse Spark Open HiCache lane (GB200) sizes the host cache in absolute GB (--hicache-size 120), which the pipeline reuses only on the same hardware.
    • Page edit: the ## Agentic Long-Context Deployment section after ## Playground, and agenticLink="agentic-long-context-deployment" on the page's <Deployment>, as on the other pages. The section text is the same as on the other pages, except that the container-image bullet no longer says several images are nightlies, since all four lanes use the Muse Spark image.
  • DeepSeek-V4.1-Flash B200, B300 and GB200 now follow the three overlays. All three move to nightly-dev-cu13-20261014-684fea8a and add DEP HiCache deployments behind sglang_router:

    Platform Before After
    B200 (#4111) TP4·EP4 c1–c32; DEP4 c48, c128 TP4 (EP1) c1–c8; TP4·EP4 c16, c24; DEP4 + HiCache c48–c256
    B300 (#4094) TP4 c1, c4; TP2 c1–c48; DEP4 c192 TP4 c1–c20; TP2 c16–c48; DEP2 + HiCache c64, c256; DEP4 + HiCache c256
    GB200 (#4112) TP4·EP4 c1–c16; DEP4 c32–c192 TP4 (EP1) c1, c4, c8, c32; TP4·EP4 c16; DEP4 + HiCache c64–c256
    • The overlays also add --dsv4-attn-backend, --tokenizer-backend and (GB200) SGLANG_DP_USE_GATHERV=1, mirrored as submitted.
    • Derived HiCache on H100 and H200. These lanes were measured without offload. Their derived HiCache tier now takes its flags from the closest measured DeepSeek-V4.1 HiCache worker, one of the new B200 / B300 DEP HiCache deployments, instead of the GB300 Dynamo disagg lane. The flags become --hicache-ratio 2 --hicache-mem-layout page_first_direct instead of --hicache-ratio 1. 52 derived command sets change, 26 per router; the per-selection note names the donor.
  • Qwen3.5 NVFP4 B300 Dynamo+SGLang (InferenceX #2978, merged 2026-10-14) is back. It was overlaid in [Docs] Cookbook: refresh SemiAnalysis AgentX launches (GLM-5.2 B300, DeepSeek-V4.1 GB300) #43799 and [Docs] Cookbook: refresh SemiAnalysis AgentX launches (DeepSeek-V4.1 GB200/GB300, GLM-5.2 FP8 B300) #43983 and dropped from [Doc] cookbook: Refresh SemiAnalysis AgentX launches to InferenceX main (GLM-5.2 NVFP4 B300 agg TP4, Dynamo frontend counts) #44065 while it was being finalized. It is now verified on main, pinned to run 38390415472 at 836a0c38. It adds four deployments (Agg TP4, two Agg TP2 with MTP 7-1-8 and 5-1-6, Agg TP2·EP2), 30 command sets in all.

  • GLM-5.2 NVFP4 B300 Dynamo+SGLang (InferenceX #3953) is now a merged lane on the same run 38356572105. Its commands are unchanged.

  • DeepSeek-V4 and Qwen3.8-Flash-Next: no command changes.

  • qwen3.5-fp8-h100-sglang-agentic is still not mirrored, as before: no dashboard changelog names it, so it was never measured.

How the commands are produced

The pipeline and rules are the same as in #44228, with these changes:

  • DFlash. Deployment chips label DFlash as "DFlash N", where N is --speculative-num-draft-tokens.
  • Synthetic acceptance at the pinned commit. InferenceX forces a golden acceptance length on speculative-decoding workers (SGLANG_SIMULATE_ACC_LEN). The pipeline removes it from the commands and discloses it per deployment.
    • The value is now computed with InferenceX's own code and curves at each lane's pinned commit, for lanes that use InferenceX's composed recipes. Before, it came from an older local InferenceX checkout, which did not know DFlash.
    • Muse Spark Open gets 4.05. That matches SGLANG_SIMULATE_ACC_LEN=4.05 in the B200 c1 worker of run 38825822770, a sweep on the Fix nightly ci Gsm8k & Fix flashinfer backend kvcache quant #4147 head.
    • Every other lane's value is unchanged.
  • Rules. Kept as serving configuration: worker flags --dsv4-attn-backend, --tokenizer-backend, --enable-layernorm-sp, --enable-megamoe-for-layernorm-sp, --mm-feature-transport, --speculative-draft-model-path (a Hugging Face id in the measured run) and --speculative-draft-attention-backend, and env SGLANG_DP_USE_GATHERV.

Each lane is still rendered at the exact commit of the run that produced its dashboard data, or at the PR head while in progress. SA-only settings are removed: the benchmark harness, cluster paths and caches, telemetry, and the synthetic acceptance above. Placeholders replace IPs, ports and NICs. Router and KV-offload variants that were not run are derived and labeled "Derived — not run". NCCL_CUMEM_ENABLE=1 from the SemiAnalysis cluster environment (#44228) also applies to the new lanes: their B200, B300, GB200 and GB300 clusters export it, and the B200 c1 worker fingerprint of run 38825822770 shows it.

The data files are generated. The hand-written change is the Muse Spark Open page section.

Validation

  • mint validate (strict build) and mint broken-links --check-anchors --check-redirects pass. node docs/scripts/check_cookbook_configs.mjs passes, and so does pre-commit run --all-files.

  • Browser click-through. A headless browser clicked through every combination of hardware, checkpoint, deployment, concurrency, KV tier and router on all six pages under mint dev, opening every tab. That is 2,396 command sets: GLM-5.2 328, DeepSeek-V4 316, DeepSeek-V4.1 438, Qwen3.5 1,058, Qwen3.8-Flash-Next 76 and Muse Spark Open 180.

    • The rendered commands match the expected text exactly, with no browser errors.
    • The "Copy link" URL of every deployment was reopened in a fresh tab and restored the same selection and tab (127 links).
    • The Deployment-panel footer link scrolls to the section on the five opted-in pages. Muse Spark Open's panel has no "Open the Playground" footer (its config hides it), so there the probe checks that the section follows ## Playground. Qwen3.5 keeps its anchor without a link, and two pages that did not opt in show no link. The copy buttons work on a plain-HTTP preview.
    • The final re-sync before pushing changed no command, only provenance: the InferenceX main SHA, and the Muse Spark Open B200 / GB200 pins after Fix nightly ci Gsm8k & Fix flashinfer backend kvcache quant #4147 and Release v0.4.3.post4 #4140 merged. The Muse Spark Open page was checked again after it.
  • Decoder and KV flags. The component's own decoder, run through Node, reproduces the Python-generated commands for all 2,396 combinations, including every point's measured tier. Every KV-cache flag in a shown command exists in the SGLang commit of its deployment's image (199 image/flag pairs).

  • Diff against main.

    Page Command sets
    DeepSeek-V4, Qwen3.8-Flash-Next all byte-identical
    GLM-5.2 all byte-identical; only the [Bug] RecursionError: maximum recursion depth exceeded while calling a Python object #3953 provenance changes
    Qwen3.5 1,028 identical; 30 added ([devcontainer] Fix mount and GPU & Support rust dev  #2978)
    DeepSeek-V4.1 194 identical; 126 added, 84 removed and 66 changed in the three retuned lanes; 52 changed derived HiCache variants on H100 / H200
    Muse Spark Open 180 new
  • Mock against a real run. The rendered Muse Spark Open B200 c1 launch equals the worker command and environment in that job's sweep_*.log of run 38825822770: 0 differences after placement values. The worker fingerprint shows SGLANG_SIMULATE_ACC_LEN=4.05 and NCCL_CUMEM_ENABLE=1.

  • Cluster environment. The table still matches the worker fingerprints of measured runs on every cluster with srt-slurm lanes.

  • Argument parsing. 421 distinct sglang.launch_server, dynamo.sglang, sglang_router.launch_router and dynamo.frontend command lines are new since [Doc] cookbook: Mirror SA cluster NCCL_CUMEM_ENABLE in AgentX launches, fix GPU counts #44228. All parse with their own submission images:

    • dev-muse-spark-open@sha256:8cfc5a72…: 149/149, including the derived Dynamo variants.
    • nightly-dev-cu13-20261014-684fea8a@sha256:ddae0e39…: 196/196.
    • nightly-dev-20261013-7224fce1: 32/32.
    • nightly-dev-cu13-20260922-582389ce@sha256:0e1b14e3…: 20/20.
    • nightly-dev-cu13-20260923-06008c17: 24/24. Its tag and its non-cu13 sibling are pruned from Docker Hub, so these used that image's SGLang source (06008c17) on the 20260922 image.

    The other 1,650 of the 2,071 command lines are identical to ones parsed for earlier cookbook PRs. Environment variables are not part of this check.

No serving or benchmark runs were performed for this PR; the numbers live in the linked SemiAnalysis runs. SGLang CI was not triggered.

🤖 Generated with Claude Code


CI States

Latest PR Test (Base): ✅ Run #38847671834
Latest PR Test (Extra): ❌ Run #38847671809
Latest PR Test (AMD ROCm 10): ➖ No AMD PR run found for this commit.

…refresh DeepSeek-V4.1-Flash

Add the Agentic Long-Context Deployment section to the Muse Spark Open page
(after the Playground, with the Deployment panel's agenticLink footer), mirroring
SemiAnalysis InferenceX AgentX's Muse Spark Open SGLang lanes on B200 / GB200
(InferenceX sgl-project#4147, sgl-project#4140, merged) and B300 / GB300 (sgl-project#4146, sgl-project#4141, in progress).

Refresh the generated AgentX data to InferenceX main c08eb51d with InferenceX
sgl-project#4111 / sgl-project#4094 (DeepSeek-V4.1-Flash B200 / B300, /use-pinned) and sgl-project#4112 (GB200,
in progress) overlaid; main adds the Qwen3.5 NVFP4 B300 Dynamo+SGLang lane
(sgl-project#2978) and moves GLM-5.2 B300 TP4 (sgl-project#3953) to a merged lane.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@nvpohanh

Copy link
Copy Markdown
Collaborator Author

looks good locally. Merge to unblock SA AgentX submissions.

@nvpohanh
nvpohanh merged commit fd4b75c into sgl-project:main Oct 16, 2026
105 of 109 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

deepseek documentation Improvements or additions to documentation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant