fix: recover PR 2752 ingest via sweep reuse - #2758
Conversation
…AgentX on B300 Add the Qwen3.8-Flash-Next AgentX recipe on B300, served by SGLang with native NEXTN MTP. Mirrors the B200 arm: RadixArk/Qwen3.8-Flash-Next-NVFP4 at TP4 with modelopt_fp4 quantization, following the Qwen3.5 NVFP4 B300 sibling. Throughput runs pin an interim acceptance length of 3.24 at three speculative tokens; eval-only runs keep real target verification. 新增 B300 上的 Qwen3.8-Flash-Next AgentX 配方,由 SGLang 以原生 NEXTN MTP 提供 服务。与 B200 分支一致:使用 RadixArk/Qwen3.8-Flash-Next-NVFP4,TP4, modelopt_fp4 量化,参照 Qwen3.5 NVFP4 B300 同类配方。吞吐运行按 3 个投机 token 锁定临时接受长度 3.24,仅评测运行仍使用真实目标验证。 Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
…link Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Same correction as the B200 arm. The SGLang cookbook playground's verified single-node command for Qwen3.8-Flash-Next on B300 is --tp 1: 126 GiB of NVFP4 weights fit on one 288 GB part. It takes the hybrid GDN linear-attention backends rather than a single --attention-backend, reads quantization from the checkpoint, and drops the trtllm_mha / flashinfer_trtllm MoE flags inherited from the Qwen3.5 recipe. --max-running-requests stays explicit, since NEXTN silently resets it to 48 when unset. Acceptance length moves from the interim 3.24 to the committed golden thinking_on value of 2.32. 与 B200 分支相同的修正。SGLang cookbook playground 给出的 Qwen3.8-Flash-Next B300 单节点验证命令为 --tp 1:126 GiB 的 NVFP4 权重可放入单张 288 GB 卡。该命令 改用混合 GDN 线性注意力的独立后端,量化直接从权重读取,并去掉了沿袭自 Qwen3.5 配方的 trtllm_mha 与 flashinfer_trtllm MoE 参数。--max-running-requests 保持显式 设置,因为 NEXTN 在其未设置时会静默重置为 48。接受长度由临时值 3.24 改为已提交 黄金曲线的 thinking_on 取值 2.32。 Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
flashinfer's gated_delta_rule_mtp asserts initial_state.dtype == torch.float32 and aborts CUDA graph capture on the bfloat16 SSM state the cookbook command specifies. Confirmed on the H200 arm, which died at "Capture target verify CUDA graph"; this arm runs the same GDN backend, the same kernel and the same NEXTN, so it would fail identically once it got that far. flashinfer 的 gated_delta_rule_mtp 断言 initial_state 必须为 float32,遇到 cookbook 命令指定的 bfloat16 SSM 状态会在 CUDA graph 捕获阶段中止。该问题已在 H200 分支确认;本分支使用相同的 GDN 后端、相同内核与相同的 NEXTN,运行到同一阶段 必然同样失败。 Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
My previous commit copied the H200 float32 fix here, and SGLang refused to start at all: ValueError: --linear-attn-decode-backend flashinfer on SM100+ requires --mamba-ssm-dtype bfloat16, got 'float32' The two architectures want opposite things. On SM100+ the flashinfer linear attention decode backend requires a bfloat16 state and validates it in server_args before launch. On Hopper the same backend's MTP verify kernel asserts a float32 state during CUDA graph capture. So the cookbook's bfloat16 is correct here and the H200 arm is the exception, not the other way round. Reverted, with the asymmetry written down so neither arm gets 'fixed' to match the other again. 上一个提交把 H200 的 float32 改动照搬到本分支,导致 SGLang 直接拒绝启动:SM100+ 上使用 flashinfer 线性注意力解码后端时必须搭配 bfloat16。两种架构的要求正好相反: SM100+ 在 server_args 中校验并要求 bfloat16;而 Hopper 上同一后端的 MTP 验证内核 在 CUDA graph 捕获阶段要求 float32。因此 cookbook 的 bfloat16 在此处是正确的, H200 才是例外。现已回退,并把这一不对称写入注释,避免两侧再被互相“对齐”。 Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
/reuse-sweep-run 33039186365 |
|
Thanks for the contribution! Please reach out to respective companies' CODEOWNER to fill in the latest PR_REVIEW_CHECKLIST.md before pinging core maintainer on Slack for review. In order for the signoff PR check bot to trigger, you must follow the PR_REVIEW_CHECKLIST.md template correctly, including the phrase For PR verification, add the PR authors are responsible for ensuring that after merging, all GitHub Action jobs fully pass. A lot of the time, failures are just flakes and simply re-running the failed jobs will fix it. See GitHub's docs on re-running failed jobs 感谢你的贡献!请联系相应公司的 CODEOWNER 填写最新的 PR_REVIEW_CHECKLIST.md,然后再在 Slack 上联系核心维护者进行审阅。为了触发 signoff PR 检查机器人,你必须正确遵循 PR_REVIEW_CHECKLIST.md 模板,包括保留英文语句 如需进行 PR 验证,请为此 PR 添加 PR 作者有责任确保合并后所有 GitHub Action 任务完全通过。 很多时候失败只是偶发抖动(flake),重新运行失败的任务即可解决。参见 GitHub 关于重新运行失败任务的文档 |
Recovery audit / 恢复审计Outcome: official ingest recovered. No GPU work was rerun.
Recovered artifacts
The generated recovery matrix matched the source scope exactly: 5 agentic rows at conc 1/4/8/12/16 plus 1 agentic eval, same fingerprint. Verification
说明PR #2752 合入后的 push-to-main |
Recover the missing official ingest from source run 33039186365.
The push-to-main
Run Sweepfor PR #2752's merge commit62b520c9e(run 33044457400) failed insetup:The authorization comment was posted without a run ID, so the resolver could not match it. This PR pins the source run explicitly.
Source run 33039186365 is a completed, successful
pull_requestrun-sweep.ymlrun on7caed5a55, a commit of PR #2752, carrying 20 unexpired artifacts:bmk_agentic_*for concurrency 1/4/8/12/16 pluseval_results_all.The recovered configuration's execution semantics are unchanged between the source SHA and the PR head: the
qwen3.8next-fp4-b300-sglang-agentic-mtpconfig object is identical, and its benchmark script and launcher are untouched. The only later changes were H200 content pulled in from main.Note
Low Risk
Documentation-only changelog update with no runtime or benchmark execution changes in the diff.
Overview
Adds a second perf-changelog entry for
qwen3.8next-fp4-b300-sglang-agentic-mtp(agentic-coding), mirroring the PR #2752 description but pointingpr-linkat #2758 so the recovered official ingest from sweep run reuse is tracked in the changelog.No benchmark config, launcher, or script changes appear in this diff—only changelog metadata for the ingest recovery workflow described in the PR.
Reviewed by Cursor Bugbot for commit 44a8001. Bugbot is set up for automated code reviews on this repo. Configure here.