Skip to content

perf(amd): DSv4.1-Flash ATOM AgentX DPA + prefill TBO from c32 on the 1022 nightly / DSv4.1-Flash ATOM AgentX 更新至 1022 nightly 并从 c32 起开启 DPA + prefill TBO - #3965

Open
yhl-amd wants to merge 17 commits into
mainfrom
perf/dsv41flash-atom-1013-dpa
Open

yhl-amd wants to merge 17 commits into
mainfrom
perf/dsv41flash-atom-1013-dpa

Conversation

@yhl-amd

@yhl-amd yhl-amd commented Oct 13, 2026 •

Copy link
Copy Markdown
Collaborator

Moves dsv41flash-fp4-mi355x-atom-agentic-dspark to the 2026-10-22 ATOM nightly and runs DeepSeek-V4.1 DP attention with prefill TBO from concurrency 32.

14 points in total.

中文

把 dsv41flash-fp4-mi355x-atom-agentic-dspark 换成 10-22 的 ATOM nightly,并从并发 32 开始跑 DeepSeek-V4.1 的 DP attention + prefill TBO。

共 14 个点。

AI model disclosure
  • Claude Opus 5.5 (claude-opus-5-5): made the config, recipe and changelog changes and prepared this PR.

🤖 Generated with Claude Code

…ightly

Move dsv41flash-fp4-mi355x-atom-agentic-dspark to
rocm/atom-dev:nightly_202610131505 (ATOM 661ef7661, with ROCm/ATOM#2376
V4.1 DPA and prefill TBO). Run TP2 c32/64/128/256 and TP4 c32 with DP
attention, prefill TBO, DP session affinity and the prefill delayer; drop
TP2 c6.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@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 任务通过。临时性失败通常可以通过重新运行恢复;参见重新运行失败任务的说明。

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@yhl-amd yhl-amd added the full-sweep-enabled Full sweep with canary gate; matrix jobs run to completion despite failures label Oct 13, 2026
Comment thread inferencex-e2e/configs/amd-master.yaml Outdated
Comment on lines +1535 to +1536
- { tp: 2, ep: 1, dp-attn: false, kv-offloading: none, spec-decoding: draft_model, conc-list: [1, 2, 4, 8, 16, 128, 256], srt-recipe: benchmarks/single_node/srt-slurm-recipes/dsv41flash/atom/mi355x-fp4-mtp/agentic.yaml }
- { tp: 2, ep: 1, dp-attn: true, kv-offloading: none, spec-decoding: draft_model, conc-list: [32, 64, 128, 256], srt-recipe: benchmarks/single_node/srt-slurm-recipes/dsv41flash/atom/mi355x-fp4-mtp/agentic.yaml }

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.

🔴 Operators lose the ability to select the new tp2 c128/c256 DP-attention points individually via test-config --exp-names, which now errors out for them. The new dp-attn:true row (amd-master.yaml:1536, conc-list includes 128, 256) overlaps the plain-TP row (:1535, now also listing 128, 256) at tp=2. Single-node exp-name generation in infx/matrix/generate.py:1196-1200 builds the exp-name without dp-attn, so both rows produce the identical exp-name dsv41flash_tp2_conc128_kvnone_spec-draft_model. filter_exp_names (generate.py:1572) then raises "Experiment name(s) matched multiple rows" for that name, unlike multinode's multinode_agentic_exp_name which appends a dpa tag. Fix: make single-node agentic exp-name include dp-attn (e.g. append a dpa suffix when Fields.DP_ATTN is true), covering every tp/conc pair where a plain and DP-attention row can overlap.

Why this was flagged

Trigger: running python -m infx.matrix.generate test-config --config-keys dsv41flash-fp4-mi355x-atom-agentic-dspark --exp-names dsv41flash_tp2_conc128_kvnone_spec-draft_model (the documented per-point validation workflow in .github/workflows/README.md) after this PR. generate.py:1196-1200 computes identical exp-name strings for the tp2/conc128 plain-TP row (amd-master.yaml:1535) and the tp2/conc128 DP-attention row (amd-master.yaml:1536), because dp-attn is not part of the formula. filter_exp_names (generate.py:1572) counts 2 matches and raises ValueError('Experiment name(s) matched multiple rows'), so the new c128/c256 points this PR adds cannot be exercised individually. On base, this entry had no tp/conc pair shared between dp-attn true/false rows, so exp-names there were unique; actual per-job result files stay distinct (benchmark-tmpl.yml:254 embeds dpa in RESULT_FILENAME_BASE), so only exp-name-based selection/identification breaks, not result storage.

Verification: The single-node agentic exp-name formula at inferencex-e2e/infx/matrix/generate.py:1196-1200 encodes only tp, conc, kv-offload and spec, not dp-attn. amd-master.yaml:1535 (dp-attn: false) and :1536 (dp-attn: true) both have tp=2, kv-offloading: none, spec: draft_model, and overlap at conc 128 and 256, producing the identical exp-name dsv41flash_tp2_conc128_kvnone_spec-draft_model (and conc256).

@github-actions

github-actions Bot commented Oct 14, 2026 •

Copy link
Copy Markdown
Contributor

yhl-amd and others added 2 commits October 16, 2026 01:06
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
# Conflicts:
#	inferencex-e2e/benchmarks/single_node/srt-slurm-recipes/dsv41flash/atom/mi355x-fp4-mtp/agentic.yaml
#	inferencex-e2e/configs/amd-master.yaml
#	inferencex-e2e/perf-changelog.yaml
@yhl-amd yhl-amd changed the title perf(amd): DSv4.1-Flash ATOM AgentX DPA + prefill TBO from c32 on the 1013 nightly / DSv4.1-Flash ATOM AgentX 更新至 1013 nightly 并从 c32 起开启 DPA + prefill TBO perf(amd): DSv4.1-Flash ATOM AgentX DPA + prefill TBO from c32 on the 1015 nightly / DSv4.1-Flash ATOM AgentX 更新至 1015 nightly 并从 c32 起开启 DPA + prefill TBO Oct 15, 2026
yhl-amd and others added 2 commits October 22, 2026 23:23
…1013-dpa

# Conflicts:
#	inferencex-e2e/perf-changelog.yaml
rocm/atom-dev:nightly_202610221638 (sha256:32c81e56e468...; ATOM
0.1.9.dev11+gce46f6877, ROCm 7.2.4).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@yhl-amd
yhl-amd requested a review from zijiecode as a code owner October 22, 2026 16:48
@yhl-amd yhl-amd changed the title perf(amd): DSv4.1-Flash ATOM AgentX DPA + prefill TBO from c32 on the 1015 nightly / DSv4.1-Flash ATOM AgentX 更新至 1015 nightly 并从 c32 起开启 DPA + prefill TBO perf(amd): DSv4.1-Flash ATOM AgentX DPA + prefill TBO from c32 on the 1022 nightly / DSv4.1-Flash ATOM AgentX 更新至 1022 nightly 并从 c32 起开启 DPA + prefill TBO Oct 22, 2026
yhl-amd and others added 9 commits October 24, 2026 00:16
… without TBO

Merge origin/main, move the image to rocm/atom-dev:nightly_202610231458
(sha256:05322b86...) and drop --enable-tbo from the DP-attention points:
TBO does not support SWA bounded replay.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Use the ATOM 2c772a5 release image (ROCm/ATOM run 39986380362,
sha256:01a19e8b...) instead of nightly_202610231458.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
max-num-seqs 128 queued half of the 256 sessions (TTFT 490 s); raise it to
256 and capture a 256 decode graph on that point.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…seqs as B300 vLLM

Move to the ATOM 11a2d56 release image (ROCm/ATOM run 40072622970,
sha256:42716923...) and set max-num-seqs per point (per DP rank) like the
B300 vLLM AgentX recipe: 1 at c1, 2x concurrency for c2-c16, concurrency
from c32 up; capture sizes stop at each point's max-num-seqs.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…1013-dpa

# Conflicts:
#	inferencex-e2e/perf-changelog.yaml
max-num-seqs is twice the concurrency at c1 too (TP2 and TP4).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Drop every max-num-seqs setting; decode graphs go back to the base list
(sizes through 32 plus 48, 64, 128), with 256 added on the c256 points.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
yhl-amd and others added 2 commits October 27, 2026 00:44
…OM AgentX on nightly_202610261558

Image rocm/atom-dev:nightly_202610261558 (ATOM 713eb06, digest
sha256:57477e7a...) adds ROCm/ATOM#2696/#2697, which fix the hang every
DP-attention point hit on nightly_202610240802, and #2719 (trace labels).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

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-enabled Full sweep with canary gate; matrix jobs run to completion despite failures

Projects

Status: No status

Development

Successfully merging this pull request may close these issues.

1 participant