Skip to content

[PowerX] backfill Qwen3.5 FP4 B300 SGLang AgentX power / [PowerX] 补采 Qwen3.5 FP4 B300 SGLang AgentX 功耗 - #4704

Open
edwingao28 wants to merge 1 commit into
mainfrom
chore/qwen35-fp4-b300-power-backfill
Open

edwingao28 wants to merge 1 commit into
mainfrom
chore/qwen35-fp4-b300-power-backfill

Conversation

@edwingao28

Copy link
Copy Markdown
Collaborator

Summary

Qwen3.5 FP4 B300 SGLang AgentX publishes no measured power. Its 28-point curve (2026-08-03) predates B300 single-node power collection, which later B300 curves report as valid. This reruns the unchanged config; only the changelog changes, so infx.matrix.changed lists no keys. FP8 B300 is refreshed separately by #4482.

Testing: the changelog plan generates the same 28 points plus 1 eval, and the image still resolves. The PR sweep is the GPU proof.

AI model disclosure
  • Model/version: claude-opus-5-5 (Claude Code).
  • Role: power coverage audit and PR preparation.
PR checklist and change type

Type of Change

  • Bug fix
  • New feature
  • Configuration change
  • Documentation update
  • Other (please describe): rerun of unchanged configs to collect power

Checklist

  • I have completed the AI model disclosure and kept it current
  • I have tested my changes locally
  • I have updated documentation if necessary
  • If python -m infx.matrix.changed --base origin/main lists affected config keys, I have appended one new entry covering them to the physical end of inferencex-e2e/perf-changelog.yaml; if it lists none, I have added none. I have not edited historical entries
  • If this PR appends an inferencex-e2e/perf-changelog.yaml entry, it carries exactly one primary sweep label (a maintainer applies it on fork PRs): full-sweep-fail-fast (recommended), full-sweep-enabled, or non-canary-full-sweep-enabled. Optional modifiers all-evals, evals-only, and agentx-fast require a primary label; the last two block reuse while applied.
  • Before merging via reuse, an authorized maintainer (OWNER/MEMBER/COLLABORATOR) has commented /use <run_id> (or the legacy /reuse-sweep-run) on this PR. Do this only once there is a final full sweep that is all green with evals passing, since after this comment the primary sweep label will no longer automatically kick off new sweeps. Remove and re-add the primary sweep label to force a new sweep.
中文

Qwen3.5 FP4 B300 SGLang AgentX 目前没有实测功耗。其 28 个点的曲线(2026-08-03)早于 B300 单节点功耗采集上线,而之后的 B300 曲线已带有有效功耗。本 PR 重新运行这个未改动的配置,只新增 changelog 条目,因此 infx.matrix.changed 不会列出任何配置。FP8 B300 由 #4482 另行更新。

测试: changelog 生成的矩阵与原曲线相同(28 个点,外加 1 个评估),镜像仍可拉取。GPU 验证以本 PR 的 sweep 为准。

AI 模型:claude-opus-5-5(Claude Code),负责功耗覆盖率审计和 PR 准备。

中文:重新运行 Qwen3.5 FP4 B300 SGLang AgentX 以采集功耗
@github-actions

github-actions Bot commented Nov 1, 2026

Copy link
Copy Markdown
Contributor

Thanks for the contribution!

  • Review: If this PR changes files owned by someone other than a repository admin or @SemiAnalysisAI/core, ask one eligible CODEOWNER to complete the latest PR_REVIEW_CHECKLIST.md before contacting a core maintainer on Slack. Follow the template exactly, including As a PR reviewer and CODEOWNER, I have reviewed this and have, so sign-off verification triggers.
  • PR verification: Sweeps run only when the PR appends an inferencex-e2e/perf-changelog.yaml entry and carries exactly one primary label: full-sweep-fail-fast (strongly recommended; canary plus per-matrix fail-fast), full-sweep-enabled (canary; matrix jobs continue after a failure), or non-canary-full-sweep-enabled (no canary or fail-fast). The modifiers all-evals, evals-only, and agentx-fast require a primary label. On fork PRs, a maintainer applies the label. See sweep labels and reuse.
  • After merging: PR authors must ensure all GitHub Actions jobs pass. Transient failures often pass on rerun; see how to rerun failed jobs.
中文

感谢你的贡献!

  • **审阅:**如果 PR 修改的文件归属于仓库管理员及 @SemiAnalysisAI/core 之外的 CODEOWNER,请先联系一位有资格的 CODEOWNER 填写最新的 PR_REVIEW_CHECKLIST.md,再通过 Slack 联系核心维护者。必须严格遵循模板,并保留 As a PR reviewer and CODEOWNER, I have reviewed this and have,才能触发签核验证。
  • **PR 验证:**只有当 PR 在 inferencex-e2e/perf-changelog.yaml 末尾追加了条目,并且恰好带有一个主标签时,才会运行扫描:full-sweep-fail-fast(强烈推荐;canary 加逐矩阵 fail-fast)、full-sweep-enabled(有 canary;矩阵任务在失败后继续运行)或 non-canary-full-sweep-enabled(无 canary,也无 fail-fast)。修饰标签 all-evals、evals-only 和 agentx-fast 必须与主标签一起使用。fork PR 的标签由维护者添加。参见扫描标签与复用。
  • **合并后:**PR 作者必须确保所有 GitHub Actions 任务通过。临时性失败通常可以通过重新运行恢复;参见重新运行失败任务的说明。

@edwingao28
edwingao28 force-pushed the chore/qwen35-fp4-b300-power-backfill branch from 2f00523 to 2f2a68f Compare November 1, 2026 09:48
@edwingao28 edwingao28 added the full-sweep-fail-fast Full sweep with canary gate; first failure cancels the rest of that matrix (recommended) label Nov 1, 2026
Comment thread inferencex-e2e/perf-changelog.yaml Outdated
- qwen3.5-fp4-b300-sglang-agentic-mtp
description:
- "Rerun the unchanged config to collect GPU-board power. Its published curve (2026-08-03) predates B300 single-node power collection and carries no power fields."
pr-link: https://github.com/SemiAnalysisAI/InferenceX/pull/PENDING

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔴 The PR's changelog validation will fail, and the reuse merge cannot fill in the real link, so this entry blocks the sweep and the merge. The placeholder pull/PENDING is not in PR_LINK_PLACEHOLDERS (validate_perf_changelog.py:20-23), which only accepts XXX and .../pull/XXX. Fix: set pr-link to https://github.com/SemiAnalysisAI/InferenceX/pull/XXX or to this PR's real URL. Both pass validate_added_pr_link and are rewritten by prepare_perf_changelog_merge.

Why this was flagged

The new entry at inferencex-e2e/perf-changelog.yaml:11777 sets pr-link: https://github.com/SemiAnalysisAI/InferenceX/pull/PENDING. On a PR run, validate_added_pr_link (inferencex-e2e/infx/workflows/validate_perf_changelog.py:105-117) accepts only https://github.com/SemiAnalysisAI/InferenceX/pull/{pr_number} or a member of PR_LINK_PLACEHOLDERS. That set is {"XXX", "https://github.com/SemiAnalysisAI/InferenceX/pull/XXX"}, so this link raises "new PR entry must use ... or an XXX placeholder". The merge path fails too: prepare_perf_changelog_merge.py:108-111 raises "appended entry N has unexpected pr-link" and never swaps in the real link. As a result the power-rerun entry cannot pass changelog validation or merge through reuse, so its power results are never ingested. Before this PR the changelog validated cleanly. No other placeholder handling rescues PENDING.

Verification: PR_LINK_PLACEHOLDERS in validate_perf_changelog.py:21-24 holds only "XXX" and "https://github.com/SemiAnalysisAI/InferenceX/pull/XXX". In merge_pr, merge_with_reuse.py:688 always calls canonicalize_changelog. The placeholder is not rewritten, and the PR cannot be merged with reuse until it changes to .../pull/XXX or the real PR URL. The PR-time CI check does not block the sweep.

@github-actions

github-actions Bot commented Nov 1, 2026

Copy link
Copy Markdown
Contributor

This branch has not been deployed

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

Labels

full-sweep-fail-fast Full sweep with canary gate; first failure cancels the rest of that matrix (recommended)

Projects

Status: No status

Development

Successfully merging this pull request may close these issues.

1 participant