Prhub

#38317 [ROCm][CI] Enable hybrid chunked prefill test

原始 PR 作者 AndreasKaratzas 合并时间 2026-03-30 10:30 文件变更 2 提交数 4 评论 4 代码增减 +21 / -2

执行摘要

在 ROCm 平台上启用混合分块预填充测试,添加 MI325 GPU 的 CI 步骤。

根据PR描述,目的是'移除测试文件中的全局CUDA-only跳过,让测试在ROCm上运行',并'为nvidia/NVIDIA-Nemotron-3-Super-120B-A12B-FP8模型在ROCm上添加目标跳过,因为modelopt量化不在ROCm支持的量化列表中',以扩展ROCm硬件的测试覆盖和兼容性。

建议技术管理者关注此PR,作为ROCm平台测试扩展的示例,值得工程师精读以了解条件跳过策略和CI配置最佳实践,特别是对于多GPU环境。

讨论亮点

review中仅有tjtanaa的一条评论,涉及测试标记语法正确性:'Since the original condition is not current_platform.is_cuda() let's retain the check as not current_platform.is_cuda()'。作者AndreasKaratzas迅速响应'Done :)'并修改代码,确保条件一致,无其他争议。

实现拆解

实现分为两部分:

1) 在.buildkite/test-amd.yaml中添加新的CI步骤,指定在4xMI325 GPU上运行test_hybrid_chunked_prefill.py测试,依赖相关源文件。
2) 在tests/v1/e2e/test_hybrid_chunked_prefill.py中,移除全局@pytest.mark.skipif(not current_platform.is_cuda(), reason="CUDA not available"),并为NVIDIA Nemotron模型参数添加pytest.mark.skipif(not current_platform.is_cuda(), reason="modelopt quantization is supported only on CUDA")

文件 模块 状态 重要度
.buildkite/test-amd.yaml CI 配置 modified 3.0
tests/v1/e2e/test_hybrid_chunked_prefill.py 测试 modified 5.0

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

评论区精华

测试跳过条件的语法一致性 正确性

tjtanaa 建议在添加跳过标记时保留原始条件 not current_platform.is_cuda() 以保持一致。

结论:作者接受了建议,修改代码确保语法正确。 · 已解决

风险与影响

风险较低:

1) 新增CI步骤可能增加资源消耗和运行时间,特别是多GPU环境;
2) 特定模型跳过可能导致测试覆盖不完整,若未来ROCm支持modelopt量化需更新;
3) 跨平台假设依赖外部量化支持列表,可能存在不准确性。

影响有限:对用户无直接影响;对系统提高了ROCm平台上混合分块预填充功能的测试覆盖率,有助于发现潜在问题;对团队优化了CI流程,支持更多硬件配置,促进跨平台开发。

CI 资源消耗 测试覆盖不完整

关联 Issue

未识别关联 Issue

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

完整报告

参与讨论