Skip to content

fix: recover PR 2752 ingest via sweep reuse - #2758

Merged
functionstackx merged 8 commits into
mainfrom
recovery/reuse-pr-2752
Aug 27, 2026
Merged

fix: recover PR 2752 ingest via sweep reuse#2758
functionstackx merged 8 commits into
mainfrom
recovery/reuse-pr-2752

Conversation

@functionstackx

@functionstackx functionstackx commented Aug 27, 2026

Copy link
Copy Markdown
Collaborator

Recover the missing official ingest from source run 33039186365.

The push-to-main Run Sweep for PR #2752's merge commit 62b520c9e (run 33044457400) failed in setup:

error: PR #2752 has /reuse-sweep-run authorization but no successful run-sweep.yml
pull_request run was found for any of its 7 commit(s); pin a specific run with
`/reuse-sweep-run <run_id>`.

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_request run-sweep.yml run on 7caed5a55, a commit of PR #2752, carrying 20 unexpired artifacts: bmk_agentic_* for concurrency 1/4/8/12/16 plus eval_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-mtp config 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 pointing pr-link at #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.

functionstackx and others added 6 commits August 26, 2026 23:34
…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>
@functionstackx

Copy link
Copy Markdown
Collaborator Author

/reuse-sweep-run 33039186365

@functionstackx
functionstackx requested a review from a team August 27, 2026 06:17
@github-actions

Copy link
Copy Markdown
Contributor

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 As a PR reviewer and CODEOWNER, I have reviewed this and have.

For PR verification, add the full-sweep-fail-fast label (strongly recommended) to this PR — the benchmark sweep only runs on labeled PRs. Use full-sweep-enabled only if you need matrix jobs to keep running past a failure.

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 模板,包括保留英文语句 As a PR reviewer and CODEOWNER, I have reviewed this and have

如需进行 PR 验证,请为此 PR 添加 full-sweep-fail-fast 标签(强烈推荐)— 基准测试 sweep 仅在带有标签的 PR 上运行。仅当需要矩阵任务在失败后继续运行时才使用 full-sweep-enabled

PR 作者有责任确保合并后所有 GitHub Action 任务完全通过。 很多时候失败只是偶发抖动(flake),重新运行失败的任务即可解决。参见 GitHub 关于重新运行失败任务的文档

@functionstackx
functionstackx merged commit a0ef255 into main Aug 27, 2026
29 checks passed
@functionstackx
functionstackx deleted the recovery/reuse-pr-2752 branch August 27, 2026 06:18
@functionstackx

Copy link
Copy Markdown
Collaborator Author

Recovery audit / 恢复审计

Outcome: official ingest recovered. No GPU work was rerun.

Failed target push run 33044457400, job setup 98425132824, on PR #2752 merge commit 62b520c9e
Root cause merge_with_reuse.sh posted /reuse-sweep-run without a run id; the resolver could not match it: PR #2752 has /reuse-sweep-run authorization but no successful run-sweep.yml pull_request run was found for any of its 7 commit(s)
Source run 33039186365, attempt 1, pull_request / completed / success, head 7caed5a556ee1ae97f072328fb2c1befa338caa4 (a commit of PR #2752)
Recovery PR #2758, carrier commit 44a800112, merged as a0ef2554
Recovery merge run 33045415635 — success; reuse-enabled=true, reuse-reason: PR #2758 approved reusable full sweep from pinned run 33039186365
Downstream ingest InferenceX-app 33045460299 — success, target production, logs confirm Source run: 33039186365 (attempt 1) and Merge run: 33045415635 (attempt 1)

Recovered artifacts

qwen3.8next-fp4-b300-sglang-agentic-mtp, scenario agentic-coding, recipe fingerprint a3a258582e5c0db5:

  • 5 × bmk_agentic_* — concurrency 1, 4, 8, 12, 16
  • 5 × agentic_* raw trace-replay outputs
  • 1 × eval_* plus eval_results_all

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

  • Source semantics unchanged after 7caed5a55: the qwen3.8next-fp4-b300-sglang-agentic-mtp config object is byte-identical at the source SHA and the PR head, and its benchmark script and launcher are untouched. The only later changes were H200 files pulled in from main.
  • Carrier ancestry: first parent = recovery commit, second parent = source SHA, tree identical to the first parent, PR diff limited to perf-changelog.yaml.
  • PR gate: check-changelog and reuse-sweep-gate passed; setup and every GPU job skipped.
  • Push-to-main: only setup, upload-changelog-metadata and trigger-agentic-ingest ran.
  • Ingest: artifact download, db:verify complete, cache invalidation ({"invalidated":true,"blobsDeleted":201}), unmapped-entity check all completed.
  • The bogus ingest keyed on the failed target's own run_id is left in place, superseded by this one under a new run_id.

说明

PR #2752 合入后的 push-to-main Run Sweep(运行 33044457400)在 setup 阶段失败:merge_with_reuse.sh 发出的 /reuse-sweep-run 未带运行号,解析器无法匹配到可复用的运行。本次恢复通过 PR #2758 显式指定源运行 33039186365,复用其既有产物完成官方入库,未重跑任何 GPU 作业。恢复范围与源运行完全一致(并发 1/4/8/12/16 共 5 个智能体编码单元及 1 个评测,recipe 指纹 a3a258582e5c0db5);源 SHA 之后该配置的执行语义未发生变化。下游入库运行 33045460299 已成功,日志确认源运行与合并运行均与预期一致,数据库校验、缓存失效与未映射实体检查均已完成。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

Development

Successfully merging this pull request may close these issues.

1 participant