Prhub

#37924 [ROCm][CI][PD] Add Hybrid SSM integration tests to CI

vllm-project/vllm · 作者 AndreasKaratzas · 合并时间 2026-03-25 07:58

分析状态 已生成
文件变更 1提交数 1 · 评论 2
代码增减 +15 / -0
rocm ci kv-connector test

执行摘要

在 AMD ROCm CI 管道中添加 Hybrid SSM 集成测试步骤。

PR body 指出此变更是基于 PR #37657 的测试结果,测试在 gfx950(MI300 GPU)上通过,预计在 gfx90a(MI250 GPU)上也通过。动机是将已验证的手动测试集成到 CI 管道中,以提高测试自动化程度和代码质量。

此 PR 值得快速浏览,以了解 CI 测试扩展和跨平台测试策略。关注点在于 CI 配置与硬件目标的匹配,以及如何管理不同 GPU 架构的测试覆盖。对于涉及 ROCm 或 kv-connector 开发的工程师,可参考此 PR 来设置类似测试。

讨论亮点

review 中,gemini-code-assist[bot] 指出 CI 配置中 agent_pool 指定为 mi250_4(针对 MI250/gfx90a GPU),而 PR 描述说测试在 gfx950(MI300 GPU)上验证通过,这可能导致硬件架构不匹配和测试覆盖不足。AndreasKaratzas 回复 'updated pr body.',但未修改配置以解决此问题。讨论未深入进行,tjtanaa 批准了 PR。

实现拆解

实现仅涉及一个文件:.buildkite/test-amd.yaml。在该文件中添加了一个新步骤,标签为 'Hyrbid SSM NixlConnector PD accuracy tests (4 GPUs)',配置包括:超时 180 分钟、硬件镜像 [amdexperimental, amdproduction, amdgfx90anightly, amdmi250]、agent_pool mi250_4、4 个 GPU、工作目录指向测试文件、依赖相关源文件(如 nixl_connector.py 和 rocm.py),并执行 bash 脚本 HYBRID_SSM=1 ROCM_ATTN=1 bash v1/kv_connector/nixl_integration/config_sweep_accuracy_test.sh

文件 模块 状态 重要度
.buildkite/test-amd.yaml CI/Infrastructure modified 5.0

分析完成后,这里会展示 LLM 生成的相对完整源码片段和详细注释。

评论区精华

CI 配置与硬件目标匹配 设计

gemini-code-assist[bot] 指出 agent_pool mi250_4 可能不匹配目标硬件 gfx950,导致测试覆盖不足。

结论:AndreasKaratzas 更新了 PR body,但未改变配置,问题未完全解决。 · 未解决

风险与影响

主要风险是 CI 测试可能无法准确验证目标硬件。agent_pool mi250_4 针对 MI250(gfx90a),但测试预期覆盖 MI300(gfx950),由于架构差异(如 vllm/platforms/rocm.py 中的平台特定代码),在 MI250 上运行测试可能无法发现 MI300 特有的问题。此外,如果硬件不匹配,测试结果可能误导,导致潜在问题未被捕获。

对用户影响较小,间接通过提高 Hybrid SSM 在 ROCm 上的测试覆盖来增强软件质量。对系统:增加 CI 运行时间和资源消耗,但提供额外的自动化验证。对团队:减少手动测试负担,促进持续集成,但需注意硬件兼容性以确保测试有效性。

CI 配置不匹配 硬件架构覆盖不足

关联 Issue

未识别关联 Issue

当前没有检测到明确关联的 Issue 链接,后续同步到相关引用后会出现在这里。

完整报告

执行摘要

此 PR 在 vLLM 的 AMD ROCm CI 管道中添加了一个新的集成测试步骤,用于验证 Hybrid SSM 模型在 NixlConnector 上的准确性。变更仅涉及修改 Buildkite 配置文件,扩展了测试覆盖,但存在硬件架构不匹配的潜在风险。建议关注 CI 配置与目标硬件的对齐问题。

功能与动机

此 PR 的动机是基于 PR #37657 的手动测试结果,测试在 gfx950(MI300 GPU)上通过,预计在 gfx90a(MI250 GPU)上也通过。目的是将这些测试自动化到 CI 中,以提高测试效率和确保 ROCm 平台上的功能稳定性。PR body 中明确写道:“Follow-up after:

  • https://github.com/vllm-project/vllm/pull/37657 Test confirmed passing on gfx950 (expected to pass also on gfx90a).”

实现拆解

实现集中在单个文件 .buildkite/test-amd.yaml 的修改上,添加了一个新步骤,具体配置如下:

  • 标签:Hyrbid SSM NixlConnector PD accuracy tests (4 GPUs) # TBD
  • 超时:180 分钟
  • 硬件镜像:[amdexperimental, amdproduction, amdgfx90anightly, amdmi250]
  • Agent Pool:mi250_4
  • GPU 数量:4
  • 工作目录:"/vllm-workspace/tests"
  • 源文件依赖:包括 vllm/distributed/kv_transfer/kv_connector/v1/nixl_connector.pytests/v1/kv_connector/nixl_integration/vllm/platforms/rocm.py
  • 命令uv pip install --system -r /vllm-workspace/requirements/kv_connectors_rocm.txtHYBRID_SSM=1 ROCM_ATTN=1 bash v1/kv_connector/nixl_integration/config_sweep_accuracy_test.sh

此步骤旨在在 4 个 GPU 上运行 Hybrid SSM 相关的准确性测试,依赖现有测试脚本和平台代码。

评论区精华

review 讨论中,gemini-code-assist[bot] 指出一个关键问题:

“The PR description states that this test was confirmed passing on gfx950 and is expected to work on gfx942 (MI300 series GPUs). However, the CI configuration specifies agent_pool: mi250_4, which targets MI250 GPUs (gfx90a architecture). Given the significant architectural differences and architecture-specific code paths (e.g., in vllm/platforms/rocm.py), running this test on mi250 may not provide the intended test coverage for MI300 series GPUs.”

作者 AndreasKaratzas 回复“updated pr body.”,但未调整配置以解决此不匹配问题。讨论未进一步深入,PR 最终被批准,但硬件覆盖疑虑未完全消除。

风险与影响

技术风险

  • 硬件架构不匹配:CI 配置使用 agent_pool mi250_4(针对 MI250/gfx90a),但测试预期验证 MI300/gfx950,可能导致测试覆盖不全或错误结果。
  • 平台特定代码路径vllm/platforms/rocm.py 中的代码可能因 GPU 架构不同而有差异,在 MI250 上运行测试可能无法暴露 MI300 特有的问题。

影响分析

  • 对用户:间接影响,通过增强测试覆盖提升 Hybrid SSM 在 ROCm 上的可靠性,但若测试不准确,可能掩盖潜在问题。
  • 对系统:增加 CI 运行时间和资源消耗,但提供额外的自动化验证层。
  • 对团队:自动化测试减少手动负担,促进持续集成,但需监控硬件兼容性以确保测试有效性。

关联脉络

此 PR 是 PR #37657 的直接后续,后者可能涉及 Hybrid SSM 测试的初始实现或验证。从仓库近期历史看,其他相关 PR 包括:

  • PR #38030 ([MRV2] Fix for DS v3.2):涉及 kv-connector 修复,与本 PR 的 kv-connector 测试相关。
  • PR #37787 ([Bugfix][ROCm][MoE] Fix mxfp4 oracle regressions from #37128):涉及 ROCm 平台上的 bugfix,说明团队对 AMD GPU 兼容性的持续关注。
    整体上,这反映了 vLLM 项目在扩展 ROCm 支持和强化测试覆盖方面的演进趋势,特别是在分布式 kv-connector 和混合模型场景下。

参与讨论