Skip to content

config: make aggregate multinode topology explicit - #2479

Open
cquil11 wants to merge 1 commit into
agent/node-slot-scheduling-pocfrom
agent/explicit-aggregate-node-counts
Open

config: make aggregate multinode topology explicit#2479
cquil11 wants to merge 1 commit into
agent/node-slot-scheduling-pocfrom
agent/explicit-aggregate-node-counts

Conversation

@cquil11

@cquil11 cquil11 commented Aug 3, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • Gives aggregate multi-node master configs one worker topology instead of fake prefill and zero-count decode roles.
  • Requires num-nodes for every multinode: true, disagg: false search-space entry.
  • Requires separate prefill and decode roles for disagg: true, where worker and num-nodes are rejected.
  • Backfills all six existing aggregate search-space entries with explicit allocation sizes.
  • Translates the aggregate master shape into the legacy prefill/decode matrix representation expected by the launcher, without changing runtime behavior.

This is the upper layer above #2440 in the native GitHub Stacked PR stack.

Example

multinode: true
disagg: false
scenarios:
  agentic-coding:
  - search-space:
    - num-nodes: 2
      worker:
        tp: 8
        pp: 2
        ep: 1
        dp-attn: false

Validation

  • python -m pytest utils/matrix_logic/ utils/test_ci_priority.py -q — 257 passed.
  • Generated every NVIDIA and AMD master-config row successfully.
  • Verified all migrated aggregate rows retain their previous node counts, topology, and legacy runtime worker counts.
  • git diff --check passed.

@github-actions

github-actions Bot commented Aug 3, 2026

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 关于重新运行失败任务的文档

@cquil11 cquil11 changed the title agent/explicit aggregate node counts config: declare aggregate multinode allocation sizes Aug 3, 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.

LGTM — this is a mechanical config backfill adding num-nodes to six existing multi-node search-space entries, and the values check out against each entry's tp/pp worker config.

Extended reasoning...

Overview

Single-file change to configs/nvidia-master.yaml adding a num-nodes field to six non-disaggregated multi-node search-space entries (aggregate TP4 GB300 entries → 1 node, aggregate TP8 GB300 entry → 2 nodes, Kimi K3 TP8/PP2 B200 entry → 2 nodes). No code, launcher, or scheduling logic is touched — this is pure data backfill in a YAML config consumed by existing matrix/launcher logic.

Security risks

None. This is a static config file with no executable logic, no secrets, and no user-controlled input paths.

Level of scrutiny

Low. I verified each added num-nodes value against the entry's tp/pp fields assuming 8 GPUs/node (e.g. tp4 → 1 node, tp8 → 2 nodes, and the Kimi K3 entry's own inline comment spells out tp*pp/gpus_per_node = 8*2/8 = 2, matching the added value). All six additions are internally consistent with their surrounding worker configuration, and the PR only touches already-existing entries (no new recipes or schema changes).

Other factors

The only finding from this run is a nit that the PR title/description isn't bilingual per the AGENTS.md convention — that's a process/metadata gap, not a code defect, and doesn't affect correctness of the config values themselves. The PR's own validation (pytest suite passing, full master-config generation succeeding) is consistent with a low-risk, mechanical change.

- dram-utilization: 0.80
search-space:
- spec-decoding: "mtp"
num-nodes: 1

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.

🟡 PR title and description are English-only, missing the Simplified Chinese translation that AGENTS.md mandates for every PR (<English title> / <中文标题> and a ## 中文说明 body section). This is a pre-existing repo convention this PR doesn't follow; please add the Chinese translation before merging.

Extended reasoning...

AGENTS.md line 7 states an explicit, non-negotiable convention: 'PR and GitHub-issue titles & descriptions must be bilingual — include a Simplified Chinese version in addition to English. Title format: <English title> / <中文标题>. In the PR/issue body, follow the English content with its Chinese translation (e.g. a ## 中文说明 section mirroring the summary...).' It goes on to say 'This applies to every PR and every issue.'

PR #2479's title is config: declare aggregate multinode allocation sizes — English only, with no trailing / <中文标题> segment. The description body (Summary + Validation sections) contains no Chinese text at all, and specifically no ## 中文说明 section as the convention requires.

Step-by-step verification:

  1. Read AGENTS.md line 7 — confirms the bilingual title/description rule is mandatory and applies to every PR.
  2. Read the PR title in the metadata: config: declare aggregate multinode allocation sizes — no / <中文> suffix present.
  3. Read the PR description: contains only ## Summary and ## Validation sections, both English, no ## 中文说明 or any Chinese characters.
  4. Conclusion: the PR as submitted violates the documented, mandatory bilingual convention.

Nothing in the diff or the PR's actual content (a YAML config change backfilling num-nodes fields) is affected by this — the change itself is fine. The gap is purely in the PR metadata (title/description), which the author can fix without touching code: rename the title to append / <中文标题> and add a ## 中文说明 section mirroring the Summary.

This does not cause any runtime failure, benchmark regression, or data-correctness issue — it's a process/metadata compliance gap against a documented repo convention, not a code defect. Per the review rubric, a normal-severity finding should represent something that fails or breaks if unaddressed; this doesn't. It also isn't a PR-description-mismatch case (the description isn't inaccurate, it's just monolingual), so it's evaluated directly against the AGENTS.md rule rather than downgraded under that heuristic. Given AGENTS.md explicitly designates this as mandatory for every PR, it still merits being called out, but as a nit the author can resolve in under a minute rather than a blocking issue.

@cquil11
cquil11 force-pushed the agent/explicit-aggregate-node-counts branch from 3db9894 to a81ab36 Compare August 3, 2026 21:18
@cquil11
cquil11 requested a review from a team August 3, 2026 21:18
@cquil11 cquil11 changed the title config: declare aggregate multinode allocation sizes config: make aggregate multinode topology explicit Aug 3, 2026
Require aggregate search-space entries to declare one worker and num-nodes, while reserving separate prefill and decode workers for disaggregated serving.\n\nBackfill every existing aggregate entry and translate the new master shape to the legacy runtime matrix representation.
@cquil11
cquil11 force-pushed the agent/explicit-aggregate-node-counts branch from a81ab36 to f1b6df0 Compare August 3, 2026 22:48
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