From 11af460554ede9a7a025fd7ac1b564d89f2cef96 Mon Sep 17 00:00:00 2001 From: tzhouam Date: Thu, 22 Oct 2026 18:44:48 +0000 Subject: [PATCH] knowledge(vllm-omni): 1 change(s) from refine --- knowledge/repos/vllm-omni/rules-amd-ci.md | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/knowledge/repos/vllm-omni/rules-amd-ci.md b/knowledge/repos/vllm-omni/rules-amd-ci.md index 54dd932d..7d847eef 100644 --- a/knowledge/repos/vllm-omni/rules-amd-ci.md +++ b/knowledge/repos/vllm-omni/rules-amd-ci.md @@ -4,7 +4,7 @@ created: 2026-10-22 updated: 2026-10-22 type: rule tags: [vllm-omni] -sources: ["PR #9227"] +sources: ["PR #9227", "PR #9224"] --- # vllm-omni AMD/ROCm CI 流水线规则 @@ -17,3 +17,12 @@ sources: ["PR #9227"] - 验收:`.buildkite/amd/test-amd-ready.yml` 的 R2-01 步骤含 `parallelism: 2`、以 `· Shard %N/%t` 结尾的 label、pytest 命令含 `--num-shards` 与 `--shard-id`、三类工件名均含 `-of-` 分片后缀、命令级 `45m` 与 `timeout_in_minutes: 50`、`grade: NonBlocking`;`python3 -m pytest --confcutdir=tests/buildkite tests/buildkite/test_amd_ready_r2_01.py -q` 通过;`pre-commit run --files .buildkite/amd/test-amd-ready.yml tests/buildkite/test_amd_ready_r2_01.py` 通过。^[PR #9227] + +## VLLM-OMNI-PR9224-AITER-MHA-ABI-FALLBACK — AMD AITER MHA 缓存:精确可信源在前、可信分支非 PR 回退候选随后追加,注意力套件成功后发布 + +- 触发:改动 `.buildkite/amd/scripts/aiter_mha_cache.py` 中候选构建来源的发现或生产者校验(`candidate_sources`、`discover_build_sources`、`discover_recent_branch_sources`、`_build_numbers_from_listing`、`provenance_matches_source`);或改动 `.buildkite/amd/test-amd-ready.yml` 中 FlashAttention/AITER 作业的缓存 prepare、注意力测试编排与发布步骤;或改动 `tests/buildkite/test_aiter_mha_cache.py`、`tests/buildkite/test_amd_pipeline.py` 中对应契约测试。R2-01 lane 的分片契约不在本规则范围(PR #9224 明确不改该 lane,见 VLLM-OMNI-PR9227-R2-01-SHARDING)。 +- 强制:`candidate_sources` 必须保持“精确可信来源在前、可信分支回退候选在后”的列表顺序:先收集同 PR/head commit/merge base/精确 checkout 的早期构建与可信 commit 上的非 PR 构建;随后对每个可信分支(`main`;本构建为非 PR release-line push 时含 `release/vX.Y.Z`)调用 `discover_recent_branch_sources` 追加其最近的非 PR 构建(默认 `limit=15`,commit 须为完整 SHA、剔除 PR 构建与当前构建自身,按 build_id 去重)。该追加是无条件的——调用点不检查精确来源是否已找到,优先级完全由列表顺序表达;`discover_recent_branch_sources` 文档所述“精确 merge-base 从未发布(如镜像 ABI 升级后)”只是该函数的动机说明,不是调用前提。兼容性闸门是既有工件校验链(checksum、`gfx942` 设备码、运行时 ABI 身份哈希、Buildkite 来源元数据、provenance),不是 Omni merge-base SHA 等值——`.so` 由 ROCm 镜像内的 AITER 产出,身份哈希才是兼容依据;因此 `provenance_matches_source` 对可信分支非 PR 生产者只要求:分支属于可信分支、非 PR、`VLLM_OMNI_AITER_MHA_TRUSTED_COMMIT` 为完整 SHA。消费方仍获得 job-local 可写副本,缓存未命中时在该目录原地编译。Buildkite 查询/校验失败的日志必须脱敏:不得携带 commit、branch 或异常文本,仅输出固定措辞(可含构建号)。READY 的 FlashAttention/AITER 作业仅在注意力测试套件退出码为 0 时发布该模块,使后续 READY/MERGE 作业可命中同一 ABI。 +- 禁止:把可信分支回退候选排在精确可信来源之前;对可信分支来源恢复 `source.commit == VLLM_OMNI_AITER_MHA_TRUSTED_COMMIT` 的等值要求;接受 PR 产生的、当前构建自身的、或未通过校验链的原生模块进入另一构建;在注意力套件非零退出时发布模块;在失败日志中回填异常文本、commit 或 branch 值;删除候选排序、可信分支 provenance、PR 拒绝、不兼容 ABI 拒绝、checksum 校验、敏感值日志或 FA 发布的契约测试。 +- 验收:`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] + +