Skip to content

[AMD][MI355X] DSv4.1 Flash vLLM: re-sweep with SWA bounded replay and --monokernel on the latest ROCm 10.0 nightly / [AMD][MI355X] DSv4.1 Flash vLLM:在最新 ROCm 10.0 nightly 上启用 SWA bounded replay 与 --monokernel 并重测 - #3959

Open
Fangzhou-Ai wants to merge 2 commits into
mainfrom
amd/dsv41flash-mi355x-swa-replay-monokernel

Conversation

@Fangzhou-Ai

Copy link
Copy Markdown
Collaborator

Follow-up to #3690. Re-sweeps the MI355X DeepSeek-V4.1-Flash vLLM DSpark AgentX recipe (dsv41flash-fp4-mi355x-vllm-agentic-dspark) now that both vllm-project/vllm#59039 (decoder SWA bounded replay on ROCm) and vllm-project/vllm#61082 (mono decode on every backbone layer) are merged.

Changes

  • Image nightly-rocm100-7d0b4e57aac4c4323225b0eee9ae960ce75ffffe → nightly-rocm100-5555a2d8f7116b2b4877f66516f4128176cf722a, the latest ROCm 10.0 nightly (pushed 2026-10-13 07:02 UTC). It is 6 commits past #59039's merge commit (c077dc663d92) and 8 past #61082's (cc2a6eea1a9f), so it contains both. model.container matches.
  • Remove no-swa-bounded-replay: true. The flag was added because the ROCm sparse SWA path lacked the replay window clamp. #59039 enables bounded replay on ROCm, so it is on by default again at every point.
  • Replace VLLM_ROCM_MONO_DECODE: '1' with monokernel: true (--monokernel). #61082 moves the switch to KernelConfig.monokernel and removes the environment variable (no match in vllm/envs.py at the pinned commit), so keeping the old setting would silently turn the kernels off. #61082 also runs all 40 backbone layers whole as two launches (30 before). The 48-row step limit is unchanged, so concurrency 1-8 with five drafts takes the mono path.
  • Nothing else changes: concurrency 1-64 on TP2 and TP4 (14 points), 16384-token prefill chunk, INT4 quick all-reduce, Engram host offload at TP2. No data-type or precision change to the DSpark draft.

For reviewers

  • The automatic GSM8K row is TP4 c64 (384 rows per decode step), which does not exercise the mono path. Accuracy evidence for the kernels is in vllm#60397 and vllm#61082.
  • Local checks: infx.matrix.generate test-config expands to the 14 points on the new image; validate_perf_changelog passes.
中文

作为 #3690 的后续,在 vllm-project/vllm#59039(ROCm 上的 decoder SWA bounded replay)与 vllm-project/vllm#61082(所有主干层启用 mono decode)均已合入后,重新测试 MI355X DeepSeek-V4.1-Flash vLLM DSpark AgentX 配置(dsv41flash-fp4-mi355x-vllm-agentic-dspark)。

改动

  • 镜像 nightly-rocm100-7d0b4e57aac4c4323225b0eee9ae960ce75ffffe → nightly-rocm100-5555a2d8f7116b2b4877f66516f4128176cf722a,即最新的 ROCm 10.0 nightly(2026-10-13 07:02 UTC 推送)。它在 #59039 合入提交(c077dc663d92)之后 6 个提交、#61082 合入提交(cc2a6eea1a9f)之后 8 个提交,因此同时包含两者。model.container 同步更新。
  • 移除 no-swa-bounded-replay: true。该参数当初是因为 ROCm sparse SWA 路径缺少 replay 窗口钳制而加入的。#59039 在 ROCm 上启用了 bounded replay,因此所有点默认重新开启。
  • 将 VLLM_ROCM_MONO_DECODE: '1' 替换为 monokernel: true(--monokernel)。#61082 把开关改为 KernelConfig.monokernel 并移除了该环境变量(固定提交的 vllm/envs.py 中已无此项),保留旧设置会悄悄关闭内核。#61082 还让全部 40 个主干层整层走两次内核启动(此前为 30 层)。48 行的 decode 步上限不变,因此 5 个草稿 token 下并发 1-8 走 mono 路径。
  • 其余不变:TP2 与 TP4 并发 1-64(共 14 个点)、16384 token prefill 分块、INT4 quick all-reduce、TP2 的 Engram 主机卸载。DSpark 草稿的数据类型和精度不变。

评审注意

  • 自动 GSM8K 评测点为 TP4 c64(每个 decode 步 384 行),不经过 mono 路径。内核的精度证据见 vllm#60397 与 vllm#61082。
  • 本地检查:infx.matrix.generate test-config 在新镜像上展开为 14 个点;validate_perf_changelog 通过。
AI model disclosure

Prepared with Claude Sonnet 5.5 (claude-sonnet-5-5) in Claude Code: the recipe, master-config and changelog edits, the nightly tag lookup and ancestry check against vllm#59039 and #61082, and this description.

🤖 Generated with Claude Code

…replay and --monokernel / DSv4.1-Flash MI355X vLLM AgentX 启用 SWA bounded replay 与 --monokernel 并重测

Bump the image to nightly-rocm100-5555a2d8f7116b2b4877f66516f4128176cf722a, which contains vllm-project/vllm#59039 and #61082. Drop --no-swa-bounded-replay and replace VLLM_ROCM_MONO_DECODE=1 with --monokernel.

镜像更新至 nightly-rocm100-5555a2d8f7116b2b4877f66516f4128176cf722a,包含 vllm-project/vllm#59039 与 #61082。移除 --no-swa-bounded-replay,并用 --monokernel 取代 VLLM_ROCM_MONO_DECODE=1。

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
…angelog 条目指向 PR 3959

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

@Fangzhou-Ai Fangzhou-Ai added full-sweep-fail-fast Full sweep with canary gate; first failure cancels the rest of that matrix (recommended) full-sweep-enabled Full sweep with canary gate; matrix jobs run to completion despite failures and removed full-sweep-fail-fast Full sweep with canary gate; first failure cancels the rest of that matrix (recommended) labels Oct 13, 2026
@github-actions

github-actions Bot commented Oct 13, 2026 •

Copy link
Copy Markdown
Contributor

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

Looks good, straightforward config change.

What was reviewed: the recipe image bump and its model.container/amd-master.yaml image sync, the flag swap from no-swa-bounded-replay to monokernel: true and removal of the now-defunct VLLM_ROCM_MONO_DECODE env var, and the appended perf-changelog.yaml entry (byte-append at tail, matches the established format/style of prior entries, correct PR link).

Extended reasoning...

Three-file, config-only diff: a srt-slurm recipe YAML, its matching amd-master.yaml entry, and an appended perf-changelog.yaml block for a DeepSeek-V4.1-Flash MI355X vLLM benchmark recipe. No source code, auth, or security-sensitive surface is touched. model.container and image stay in sync as required, the changelog entry is appended only at the tail in the same style as neighboring entries, and the flag/env-var swap is internally consistent with the PR's stated rationale (moving mono-decode control from an env var to a KernelConfig flag). The bug-hunting run reported zero bugs and the one candidate issue it considered was ruled out, and the change is mechanical and self-contained enough that no human look is strictly required.

This review covers commit 5244c2a, which is no longer the latest commit on this pull request; later commits are not covered by it.

@Fangzhou-Ai

Copy link
Copy Markdown
Collaborator Author

recipe PR vllm-project/recipes#1104

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