Skip to content

[PowerX] require Kimi-K3 H200 AgentX power / [PowerX] 强制校验 Kimi-K3 H200 AgentX 功耗 - #4489

Open
edwingao28 wants to merge 5 commits into
mainfrom
fix/kimik3-h200-power-coverage
Open

edwingao28 wants to merge 5 commits into
mainfrom
fix/kimik3-h200-power-coverage

Conversation

@edwingao28

@edwingao28 edwingao28 commented Oct 25, 2026 •

Copy link
Copy Markdown
Collaborator

Summary

Require valid power telemetry across all three Kimi-K3 H200 AgentX configurations; eval-only jobs remain exempt. Replaces #3550; tracks #3592.

Testing: Full sweep remains active. Nine saved power audits passed; the full verifier had one request timeout and two schema failures.

Blocker: Complete sweep/eval qualification.

AI model disclosure
  • Model/version: gpt-6-astra (recovery/review); original primary/delegated runtime identifiers unavailable.
  • Role: implementation, validation and integration.
PR checklist and change type

Type of Change

  • Bug fix
  • New feature
  • Configuration change
  • Documentation update
  • Other (please describe)

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.
中文

Kimi-K3 H200 的三个 AgentX 配置必须提供有效功耗遥测,纯评测任务保持豁免。替代 #3550,跟踪 #3592。

**验证:**完整 sweep 仍在运行。已保存的九份功耗审计通过;完整 verifier 出现一次请求超时与两项 schema 失败。

**阻塞:**完整 sweep 和评测尚未通过验收。

改动类型:修复、配置与文档。gpt-6-astra 负责恢复和独立审阅;原始主 agent 与委派 agent 的完整运行时型号无法核实。各 agent 参与实现、验证与整合。

@github-actions

Copy link
Copy Markdown
Contributor

inferencex-e2e/infx diff: +25 -0

Generally most InferenceX submissions don't need to add changes to the infx package. On the off chance they do, generally the diff is small. Please prompt your agent to clean your PR to keep your diff to only necessary & minimal changes too. We have an increased code quality bar for changes to the infx package.

中文

大多数 InferenceX 提交通常不需要修改 infx 包。即使确实需要,改动通常也很小。请让你的 agent 清理 PR,使改动只包含必要且最小的内容。infx 包的改动有更高的代码质量要求。

@github-actions

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 任务通过。临时性失败通常可以通过重新运行恢复;参见重新运行失败任务的说明。

强制校验 Kimi-K3 H200 AgentX 的 GPU 功耗。
@edwingao28
edwingao28 force-pushed the fix/kimik3-h200-power-coverage branch from 1c867c2 to dc3371a Compare October 25, 2026 08:09
@edwingao28 edwingao28 added the full-sweep-fail-fast Full sweep with canary gate; first failure cancels the rest of that matrix (recommended) label Oct 25, 2026

@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.

Nothing blocking. The comments below are optional suggestions. There is no need to push a fix for them before merging.

dp-attn: ${{ matrix.config.dp-attn }}
duration: ${{ matrix.config.duration }}
run-eval: false
require-power: ${{ matrix.config['require-power'] == true && matrix.config['eval-only'] != true }}

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.

🟡 (optional) Manual and fork-PR sweeps of the Kimi-K3 H200 AgentX keys still pass without validated GPU power. Only run-sweep.yml forwards the new matrix require-power flag. e2e-tests.yml jobs test-sweep-agentic (line 399) and test-sweep-multi-node-agentic (line 465) pass only ${{ inputs.require-power }}. Fix: in both agentic throughput jobs, OR the input with the matrix flag, as test-sweep-multi-node already does at e2e-tests.yml:354: inputs.require-power || (matrix.config['require-power'] == true && matrix.config['eval-only'] != true). [also at: inferencex-e2e/configs/CONFIGS.md:99 - Manual and Klaud e2e runs of the Kimi-K3 H200 AgentX configs can still pass without validated GPU power, even though the scenario sets require-power: true.]

Why this was flagged

The generator now puts require-power: true on agentic rows for kimik3-fp4-h200-vllm-agentic-{latency,balanced,simple} (generate.py:1160). These rows can run through .github/workflows/e2e-tests.yml as well as run-sweep.yml. That workflow handles one-off dispatches per AGENT_OPERATIONS.md:39, and trusted-external-sweep.yml:137 dispatches it for fork PRs. In e2e-tests.yml, test-sweep-agentic (line 399) and test-sweep-multi-node-agentic (line 465) set require-power: ${{ inputs.require-power }}. That input defaults to false (line 33-37), so the matrix flag is ignored and REQUIRE_POWER resolves to '0' in benchmark-tmpl.yml:100 and benchmark-multinode-tmpl.yml:146. As a result, a fork-PR or manual sweep of these keys can still finish green without validated GPU power, which is the bug the PR says it fixes. The fixed-seq-len multi-node job in the same file (line 354) already ORs in the matrix flag. This PR updated run-sweep.yml only, and CONFIGS.md says the field requires validated power for throughput without limiting that to PR-triggered sweeps.

Verification: Severity: nit. Trigger: a Kimi-K3 H200 AgentX key runs through e2e-tests.yml, either as a manual workflow_dispatch or as a fork PR dispatched by trusted-external-sweep.yml. Its test-sweep-agentic (line 399) and test-sweep-multi-node-agentic (line 465) still pass only require-power: ${{ inputs.require-power }}. The base also never enforced it on this path.

@github-actions

Copy link
Copy Markdown
Contributor

@edwingao28 edwingao28 removed the full-sweep-fail-fast Full sweep with canary gate; first failure cancels the rest of that matrix (recommended) label Oct 26, 2026

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

None yet

Projects

Status: No status

Development

Successfully merging this pull request may close these issues.

1 participant