Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 10 additions & 1 deletion knowledge/repos/vllm-omni/rules-amd-ci.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ created: 2026-10-22
updated: 2026-10-22
type: rule
tags: [vllm-omni]
sources: ["PR #9227", "PR #9224"]
sources: ["PR #9227", "PR #9224", "PR #9126"]
---

# vllm-omni AMD/ROCm CI 流水线规则
Expand All @@ -26,3 +26,12 @@ sources: ["PR #9227", "PR #9224"]
- 验收:`tests/buildkite/test_aiter_mha_cache.py` 与 `tests/buildkite/test_amd_pipeline.py` 通过;`aiter_mha_cache.py` 的 `candidate_sources` 在精确来源之后无条件追加去重、排除自身构建的可信分支非 PR 候选,可信分支 provenance 保持三项条件,失败日志为脱敏固定措辞;`test-amd-ready.yml` 的 FA/AITER 作业仅在注意力套件成功(退出码 0)后发布模块。^[PR #9224]

<!-- kb:rule status=active since=v0.30.0 -->

## VLLM-OMNI-PR9126-WAN22-I2V-ACC-NIGHTLY — Wan2.2 I2V AMD MI300 夜间精度作业:单 pod 基线→在线→比对、收集钉死三节点、缺前置工件 fail closed

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P1 Badge Move this rule into the AMD CI owner page

This PR-learning rule is being added at the repository-owner root even though the canonical routing for .buildkite/amd/** and tests/buildkite/test_amd_pipeline.py is knowledge/repos/vllm-omni/ci/rules-amd.md. Reviews entering through the CI owner will therefore miss this contract, while the new location creates a competing AMD rule source; merge the rule into ci/rules-amd.md and update that page's index/frontmatter instead.

AGENTS.md reference: AGENTS.md:L12-L17

Useful? React with 👍 / 👎.


- 触发:改动 `.buildkite/amd/test-amd-nightly.yml` 中 `:full_moon: Wan2.2 Accuracy MI300 Nightly` 组或 `Wan2.2 I2V Accuracy 2 GPU` 作业的定义(agent 池、grade、超时、env、命令、artifact 路径);或改动 `tests/e2e/accuracy/wan22_i2v/prerequisite.py` 的 `require_similarity_artifacts`、`tests/e2e/accuracy/wan22_i2v/test_wan22_i2v_video_similarity.py` 的比对前置与结果落盘;或改动 `tests/buildkite/test_amd_pipeline.py` 中三个 Wan2.2 精度契约测试。本规则只覆盖 AMD 夜间通道;MERGE 通道的 Wan2.2 e2e 冷启动拆分另见 VLLM-OMNI-PR8014-WAN22-COLDSTART,两轨互不替代。
- 强制:该精度路径必须是夜间流水线中恰好一个 NonBlocking 作业:组内仅 `Wan2.2 I2V Accuracy 2 GPU` 一步,`agent_pool: mi300_2`、`grade: NonBlocking`、`timeout_in_minutes: 180`、`env.DIFFUSION_ATTENTION_BACKEND: TORCH_SDPA`、工件根 `artifacts/rocm-wan22-accuracy-2gpu/**/*`。三个测试节点 `test_wan22_i2v_diffusers_offline_generates_video`、`test_wan22_i2v_online_serving_generates_video`、`test_wan22_i2v_serving_matches_diffusers_video_similarity` 必须在同一 pod 内按此固定顺序、以单次 `pytest -s -v` 调用执行:离线 diffusers 基线(cards_1)先运行,其产物供同 pod 内后续的 cards_2 在线生成与比对消费,基线生成与比对不得拆到不同 pod。marker 必须保持 `full_model and diffusion and rocm and MI325 and (cards_1 or cards_2)`,同时容纳 cards_1 与 cards_2,不得收窄为仅 cards_2。正式运行前必须 `pytest --collect-only -q` 预收集:输出写入工件目录 `collection.txt`,逐一 grep 确认三个节点均被收集,并断言收集到的 `::` 节点数恰好为 3;任一不满足即以 `exit 5` 失败,防止 marker 漂移导致静默少跑。比对必须 fail closed:`require_similarity_artifacts` 对任一缺失前置工件(在线视频、离线视频、离线 metadata)抛出指名缺失路径的 AssertionError——被跳过的比对不算精度覆盖。比对摘要以 `similarity.json` 落盘;生成的视频与元数据写入测试运行期在 `tests/e2e/accuracy/wan22_i2v/` 目录下生成的 `result` 输出目录(运行期产物,非仓库检入路径),作业命令须在透传退出码前以 `if [[ -d ... ]]` 守卫把该目录 `cp -a` 复制进工件目录的 `result/` 子目录。内层 `timeout --signal=TERM --kill-after=2m 165m` 必须短于外层 180 分钟作业期限,pytest 退出码经 `PIPESTATUS[0]` 透传后决定作业结果。
- 禁止:把该组拆成多个作业,或把基线生成与比对分离到不同 pod 形成跨 pod 工件依赖;将 `grade` 改为阻塞合并的级别,或把 `Wan2.2 I2V Accuracy` 作业加入 `.buildkite/amd/test-amd-ready.yml` / `.buildkite/amd/test-amd-merge.yml`;删除 `--collect-only` 预收集、三节点逐一核对或 `exit 5` 计数断言;把缺前置工件的比对改回 skip 路径(相似度测试文件不得回归 `Missing offline artifacts` 字样);把命令换成或混入 `test_diffusers_backend_similarity.py` 节点;删除或放宽 `test_wan22_accuracy_has_one_nonblocking_comparison_job` 与 `test_wan22_similarity_fails_when_offline_baseline_is_removed`、`test_wan22_similarity_accepts_complete_artifacts` 两个单元测试;删除 pytest 结束后复制 `result` 输出目录的命令块,使失败运行丢失视频与元数据证据。
- 验收:`pytest tests/buildkite/test_amd_pipeline.py` 通过;`.buildkite/amd/test-amd-nightly.yml` 该组恰含一个 `mi300_2`、`NonBlocking`、`timeout_in_minutes: 180`、`TORCH_SDPA` 的 `Wan2.2 I2V Accuracy 2 GPU` 作业,命令含 `--collect-only`、`exit 5` 且三节点按固定顺序出现;ready 与 merge 流水线不含 `Wan2.2 I2V Accuracy`;`require_similarity_artifacts` 在任一工件缺失时抛 AssertionError、齐全时静默通过。^[PR #9126]

<!-- kb:rule status=active since=v0.30.0 -->
Loading