Repository navigation
[PowerX] backfill GLM-5.2 FP8 B300 SGLang AgentX power / [PowerX] 补采 GLM-5.2 FP8 B300 SGLang AgentX 功耗 - #4702
Conversation
中文:重新运行 GLM-5.2 B300 SGLang AgentX 以采集功耗
|
Thanks for the contribution!
中文感谢你的贡献!
|
8995a23 to
fabd953
Compare
| - glm5.2-fp8-b300-sglang-agentic-mtp | ||
| description: | ||
| - "Rerun the unchanged FP4 and FP8 configs to collect GPU-board power. Their published curves (2026-10-12 and 2026-10-14) predate B300 single-node power collection and carry no power fields." | ||
| pr-link: https://github.com/SemiAnalysisAI/InferenceX/pull/PENDING |
There was a problem hiding this comment.
🔴 The changelog validator will fail this PR, and the merge helper will refuse it, because the new entry's pr-link placeholder is not one the tooling accepts. validate_added_pr_link (validate_perf_changelog.py:113) only accepts the canonical PR URL or an entry in PR_LINK_PLACEHOLDERS, which is XXX or .../pull/XXX. .../pull/PENDING matches neither, and no other entry uses it. Fix: set pr-link to https://github.com/SemiAnalysisAI/InferenceX/pull/XXX, which the merge helper rewrites, or to this PR's real number.
Why this was flagged
The appended block at inferencex-e2e/perf-changelog.yaml:11778 has 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-116) raises ChangelogValidationError "new PR entry must use '.../pull/' or an XXX placeholder; found '.../pull/PENDING'" because the link is not in PR_LINK_PLACEHOLDERS (validate_perf_changelog.py:21-24, only "XXX" and ".../pull/XXX") and is not the canonical PR URL. The merge path fails the same way: prepare_perf_changelog_merge.py:108-111 raises "appended entry N has unexpected pr-link" instead of replacing the placeholder with the real link. As a result, the changelog check fails and the reuse merge cannot complete. A sweep that never starts would also leave the power backfill uncollected. No other entry in perf-changelog.yaml uses PENDING, so there is no precedent the tooling tolerates.
Verification: The new block at inferencex-e2e/perf-changelog.yaml:11778 has pr-link: https://github.com/SemiAnalysisAI/InferenceX/pull/PENDING. PR_LINK_PLACEHOLDERS (validate_perf_changelog.py:21-24) holds only "XXX" and ".../pull/XXX". merge_with_reuse.py:688 always calls canonicalize_changelog(pr, repo). So the helper raises and the merge is refused. The PR sweep validation therefore passes.
| - config-keys: | ||
| - glm5.2-fp4-b300-sglang-agentic-mtp | ||
| - glm5.2-fp8-b300-sglang-agentic-mtp | ||
| description: | ||
| - "Rerun the unchanged FP4 and FP8 configs to collect GPU-board power. Their published curves (2026-10-12 and 2026-10-14) predate B300 single-node power collection and carry no power fields." |
There was a problem hiding this comment.
🟡 (optional) A green sweep can be reused and merged with no valid power for any of the 19 points, so the backfill can silently fail at its only goal. Power for single-node AgentX points is best-effort. On an invalid measurement the job records an invalid verdict and still passes. The require-power switch exists only for fixed-sequence 8192/1024 (infx/matrix/generate.py:1000), so it cannot be set on these points. Fix: before /use, check that every FP4 and FP8 point in the chosen run has a valid power verdict with energy metrics. A green sweep alone does not show this, so add a power check to the PR's testing claim.
Why this was flagged
The only purpose of this entry is to collect GPU-board power for glm5.2-fp4-b300-sglang-agentic-mtp and glm5.2-fp8-b300-sglang-agentic-mtp, which run single-node on cluster:b300-dsxe (configs/nvidia-master.yaml:5871-5905). For single-node points, bind_workload sets telemetry.required and REQUIRE_POWER from the point's REQUIRE_POWER (infx/srt_slurm/workload.py:339-342). AgentX rows never carry it: require-power is only accepted for fixed-sequence 8192/1024 (infx/matrix/generate.py:999-1001), and the AgentX power adapter returns 0 unless require_power is set (infx/results/agentic/power_adapter.py:144-147). CONFIGS.md:286-288 says an invalid measurement "otherwise records an invalid verdict without energy metrics" and does not fail the job. Trigger: the DCGM exporter fails to start, or windows come out invalid on any B300 node. The sweep still goes green, /use and merge_with_reuse accept it, and the republished curves still lack power. The PR description's "The PR sweep is the GPU proof" does not hold for power.
Verification: Trigger: the PR sweep's native telemetry for any of the 19 GLM-5.2 B300 AgentX points comes out invalid. The sweep-agentic job (.github/workflows/run-sweep.yml:530-548) passes no require-power, so power_adapter.py:395-410 writes power_valid: False and the job stays green. The base branch already has no power for these curves, and the manual /use gate can catch it by checking the power_audit_* verdicts.
|
View unofficial run (performance): https://inferencex.semianalysis.com/inference?unofficialRun=41347984144 View unofficial run (accuracy): https://inferencex.semianalysis.com/evaluation?unofficialRun=41347984144 |
NVFP4 weights were removed from B300; GLM-5.3 FP4 B300 already publishes strict power. 中文:从功耗回填中移除 GLM-5.2 FP4 B300。B300 上的 NVFP4 权重已被删除;GLM-5.3 FP4 B300 已发布严格功耗数据。
|
/use 41347984144 |
|
@edwingao28 staged run 41347984144. This run remains available across future |
functionstackx
left a comment
There was a problem hiding this comment.
Approved for the GLM-5.2 FP8 B300 SGLang AgentX power backfill. The diff only appends its changelog entry; the full sweep and agentic eval passed at the reviewed head, and /use 41347984144 is recorded. Resolve the merge conflict before merging through the reuse path.
中文
批准 GLM-5.2 FP8 B300 SGLang AgentX 功耗补采。本次差异仅追加对应的 changelog 条目;所审阅提交的完整 sweep 和 agentic eval 均已通过,且已记录 /use 41347984144。请先解决合并冲突,再通过复用流程合并。
…ackfill # Conflicts: # inferencex-e2e/perf-changelog.yaml
|
/reuse-sweep-run 41347984144 |
# Conflicts: # inferencex-e2e/perf-changelog.yaml
|
Ingest report — ✅ Results ingested into the Ingest workflow · Merge Ingest run · Benchmark source run
benchmarkFiles 9, rawBenchmarkRows 16, coveredByPerJobFiles 8, purgedPoints 0, failedRunRows 0, runStatsNew 0, runStatsDuplicate 0, evalSamplesNew 1319, gpuMetricSamplesNew 325616, powerPublicationPoints 8, changelogEntriesWritten 1 Counts cover only this run. Rows: benchmark_results, eval_results, agentic rows linked to a trace, gpu_metrics series. This comment updates if the ingest is rerun. 中文Ingest 报告 — ✅ 结果已写入 上表仅统计本次运行写入的数据,各行单位依次为 benchmark_results 行、eval_results 行、已关联 trace 的 agentic 行和 gpu_metrics 序列。重新运行 ingest 时本评论会原地更新。 |
Summary
GLM-5.2 FP8 B300 SGLang AgentX publishes no measured power. Its curve (8 points, 2026-10-14) predates B300 single-node power collection. This reruns the unchanged config; only the changelog changes, so
infx.matrix.changedlists no keys. The FP4 curve is not rerun because its weights left B300.Testing: sweep 41347984144 at 3b3b616: 8/8 points strict power, gsm8k 0.967, at most 0.2% request errors. Output throughput per GPU is within 1.1% of the 2026-10-14 curve, except conc 12 at 8% lower.
AI model disclosure
PR checklist and change type
Type of Change
Checklist
python -m infx.matrix.changed --base origin/mainlists affected config keys, I have appended one new entry covering them to the physical end ofinferencex-e2e/perf-changelog.yaml; if it lists none, I have added none. I have not edited historical entriesinferencex-e2e/perf-changelog.yamlentry, it carries exactly one primary sweep label (a maintainer applies it on fork PRs):full-sweep-fail-fast(recommended),full-sweep-enabled, ornon-canary-full-sweep-enabled. Optional modifiersall-evals,evals-only, andagentx-fastrequire a primary label; the last two block reuse while applied.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.中文
GLM-5.2 FP8 B300 SGLang AgentX 目前没有实测功耗。其曲线(8 个点,2026-10-14)早于 B300 单节点功耗采集上线。本 PR 重新运行这个未改动的配置,只新增 changelog 条目,因此
infx.matrix.changed不会列出任何配置。FP4 曲线的权重已从 B300 移除,因此不再重跑。测试: sweep 41347984144(3b3b61620):8/8 个点通过严格功耗校验,gsm8k 得分 0.967,请求错误率最高 0.2%。每 GPU 输出吞吐量与 2026-10-14 曲线相差不超过 1.1%,并发 12 除外(低 8%)。
AI 模型:claude-opus-5-5(Claude Code),负责功耗覆盖率审计、sweep 验证和 PR 准备。