Skip to content

[Power] Require B200 and B300 multinode telemetry / 强制启用 B200 和 B300 多节点功耗采集 - #2688

Merged
edwingao28 merged 22 commits into
SemiAnalysisAI:mainfrom
edwingao28:feat/b200-b300-agentx-power
Aug 26, 2026
Merged

[Power] Require B200 and B300 multinode telemetry / 强制启用 B200 和 B300 多节点功耗采集#2688
edwingao28 merged 22 commits into
SemiAnalysisAI:mainfrom
edwingao28:feat/b200-b300-agentx-power

Conversation

@edwingao28

@edwingao28 edwingao28 commented Aug 20, 2026

Copy link
Copy Markdown
Collaborator

What changed

  • Port the H200-validated power launcher wiring to launch_b200-dgxc.sh, launch_b200-nscale-slurm.sh, and launch_b300-nv.sh.
  • Enable dcgm-power with required: true on 37 fixed-sequence recipes (21 B200 + 16 B300): 18 SGLang and 19 vLLM, including 15 dedicated-infrastructure topologies — both pools are back in service.
  • Route only power-enabled recipes through immutable producer e5c837f06a362dc888dfea2ee588e9f19c298270; preserve every existing non-power clone revision and keep Kimi-K3 and AgentX recipes unchanged.
  • Provision the DCGM exporter and record producer/exporter provenance in the power artifact.
  • Use fail-closed vLLM port ranges and pre-submit topology validation from the fork prerequisite.
  • Add dynamic contract and CI path coverage for all selected recipes.

Why required

required: true promotes exporter startup timeouts, launch failures, and endpoint resolution failures to blocking validation failures in utils/aggregate_power_multinode.py, so a recipe cannot publish a result whose power collection never started.

Stack

  • This PR is stacked on InferenceX #2683 (currently merged in at 6ad27ddbe6761df4e7947c62cb1422db51837620).
  • Producer prerequisite: edwingao28/srt-slurm #2 at e5c837f06a362dc888dfea2ee588e9f19c298270.
  • Review the Phase 3 commits after the PR-A commits; rebase onto main after PR-A merges.

Validation

  • CI-equivalent power and result-processing suite: 244 passed.
  • Official performance changelog validator passed.
  • All 37 recipes load and pass complete topology/port preflight; the largest topology has 32 processes.
  • Three launchers pass bash -n; git diff --check passed.
  • Full-sweep validation on the B200/B300 pools is dispatched from this PR; all recipe images verified pullable from Docker Hub.

中文说明

变更内容

  • 将已经过 H200 验证的功耗 launcher 接线移植到 launch_b200-dgxc.shlaunch_b200-nscale-slurm.shlaunch_b300-nv.sh
  • 为 37 个固定序列 recipe(21 个 B200 + 16 个 B300)启用 dcgm-power 并设为 required: true:其中 18 个 SGLang、19 个 vLLM,含 15 个独立基础设施节点拓扑——两个 pool 均已恢复服务。
  • 仅让启用功耗的 recipe 使用不可变 producer e5c837f06a362dc888dfea2ee588e9f19c298270;保留全部现有非功耗 clone revision,且不修改 Kimi-K3 和 AgentX recipe。
  • 准备 DCGM exporter,并在功耗产物中记录 producer/exporter provenance。
  • 使用 fork 前置提供的 fail-closed vLLM 端口区间与提交前拓扑校验。
  • 为全部选中 recipe 增加动态 contract 与 CI path 覆盖。

为何设为 required

required: true 会在 utils/aggregate_power_multinode.py 中把 exporter 启动超时、启动失败和 endpoint 解析失败提升为阻断性校验失败,确保功耗采集未启动的 run 无法发布结果。

依赖关系

  • 本 PR stacked 在 InferenceX #2683 上(当前已合入其 6ad27ddbe6761df4e7947c62cb1422db51837620)。
  • producer 前置为 edwingao28/srt-slurm #2e5c837f06a362dc888dfea2ee588e9f19c298270
  • 请在 PR-A commits 之后 review Phase 3 commits;PR-A 合入后再 rebase 到 main

验证

  • CI 同款功耗与结果处理测试:244 个通过。
  • 官方 performance changelog validator 验证通过。
  • 37 个 recipe 全部可加载并通过完整 topology/port preflight;最大拓扑 32 个 process。
  • 三条 launcher 均通过 bash -ngit diff --check 通过。
  • 已从本 PR 派发 B200/B300 pool 的 full-sweep 验证;全部 recipe 镜像确认可从 Docker Hub 拉取。

Note

Medium Risk
Touches production Slurm launch paths and makes power collection blocking for 37 official lanes; mis-gating or fork pin drift could break benchmarks or reject valid runs, though contract tests and preserved non-power clone paths limit blast radius.

Overview
Requires mandatory DCGM power telemetry on 37 fixed-sequence multinode benchmark recipes (21 B200, 16 B300) for DeepSeek-V4 and Kimi K2.6 FP4 SGLang/vLLM lanes. Each recipe gains a telemetry block with provider: dcgm-power and required: true, so failed exporter startup or collection blocks result publication downstream.

Wires B200/B300 Slurm launchers (launch_b200-dgxc.sh, launch_b200-nscale-slurm.sh, launch_b300-nv.sh) to detect power-enabled recipes from YAML, enforce per-cluster lane guards, and only then clone a pinned srt-slurm producer fork, stage the NVIDIA DCGM exporter image into srtslurm.yaml, and archive producer/exporter provenance under run power/ logs. Non-power runs keep their existing clone pins.

Adds utils/test_b200_b300_power_official_contract.py plus CI path/pytest coverage in test-process-result.yml, documents the change in perf-changelog.yaml, and sets set_cuda_visible_devices: true on affected vLLM DeepSeek-V4 B200 recipes. Nscale preflight skips are broadened to all dsv4 configs when weights are node-local.

Reviewed by Cursor Bugbot for commit c99c52c. Bugbot is set up for automated code reviews on this repo. Configure here.

@edwingao28
edwingao28 force-pushed the feat/b200-b300-agentx-power branch from 1ecb394 to a52acf5 Compare August 24, 2026 19:21
@edwingao28
edwingao28 marked this pull request as ready for review August 24, 2026 19:23
@edwingao28
edwingao28 requested a review from a team August 24, 2026 19:23

@claude claude Bot left a comment

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.

Claude Code Review

This pull request is from a fork — automated review is disabled. A repository maintainer can comment @claude review to run a one-time review.

@github-actions

Copy link
Copy Markdown
Contributor

Dispatched trusted sweep run for approved external revision a52acf5097c8f1a412f25dcd9f5afb1ecb1ab688.
New commits are not trusted automatically; remove and re-add the primary sweep label to approve a new SHA.

已为获批的外部提交 a52acf5097c8f1a412f25dcd9f5afb1ecb1ab688 调度trusted sweep run
后续新提交不会自动获得信任;如需批准新的 SHA,请移除并重新添加主扫描标签。

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: a52acf5097

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

@edwingao28 edwingao28 changed the title [Power] Add optional B200 and B300 multinode telemetry / 添加可选 B200 和 B300 多节点功耗采集 [Power] Require B200 and B300 multinode telemetry / 强制启用 B200 和 B300 多节点功耗采集 Aug 24, 2026
…-power

# Conflicts:
#	.github/workflows/test-process-result.yml
#	perf-changelog.yaml
#	runners/launch_h200-dgxc-slurm.sh
#	utils/agentic/aggregation/power_adapter.py
#	utils/agentic/aggregation/test_power_adapter.py
#	utils/test_aggregate_power_multinode.py
#	utils/test_h200_power_official_contract.py
@github-actions

Copy link
Copy Markdown
Contributor

Dispatched trusted sweep run for approved external revision 538e3f6843f5c4027aa98dbcfe111c9a9e9618ce.
New commits are not trusted automatically; remove and re-add the primary sweep label to approve a new SHA.

已为获批的外部提交 538e3f6843f5c4027aa98dbcfe111c9a9e9618ce 调度trusted sweep run
后续新提交不会自动获得信任;如需批准新的 SHA,请移除并重新添加主扫描标签。

@github-actions

Copy link
Copy Markdown
Contributor

Dispatched trusted sweep run for approved external revision f791a15fccb668b6bc0ad1b569827a4a8e7bb454.
New commits are not trusted automatically; remove and re-add the primary sweep label to approve a new SHA.

已为获批的外部提交 f791a15fccb668b6bc0ad1b569827a4a8e7bb454 调度trusted sweep run
后续新提交不会自动获得信任;如需批准新的 SHA,请移除并重新添加主扫描标签。

@cursor cursor Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Cursor Bugbot has reviewed your changes using default effort and found 1 potential issue.

Fix All in Cursor

❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.

Want higher recall? High effort reviews run extra passes and find more bugs. A team admin can switch effort levels in the Cursor dashboard.

Reviewed by Cursor Bugbot for commit f791a15. Configure here.

@github-actions

Copy link
Copy Markdown
Contributor

Dispatched trusted sweep run for approved external revision 76c54dde45142b30db45f987b31789759d2ddf81.
New commits are not trusted automatically; remove and re-add the primary sweep label to approve a new SHA.

已为获批的外部提交 76c54dde45142b30db45f987b31789759d2ddf81 调度trusted sweep run
后续新提交不会自动获得信任;如需批准新的 SHA,请移除并重新添加主扫描标签。

@edwingao28
edwingao28 merged commit 9e62605 into SemiAnalysisAI:main Aug 26, 2026
4 checks passed
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