Prhub

#38381 [ROCm][CI] Pin test_hybrid test to TRITON_ATTN on ROCm

原始 PR 作者 micah-wil 合并时间 2026-03-31 04:26 文件变更 1 提交数 2 评论 2 代码增减 +11 / -2

执行摘要

在 ROCm 平台上固定 test_hybrid 测试使用 TRITON_ATTN 后端以减少 flakiness。

根据 PR body,在 PR #36702 重新排序注意力后端优先级后,test_hybrid.py 出现 flakiness(示例构建链接)。目的是通过固定后端来减少 ROCm 上的测试不稳定。

这是一个简单的测试修复,值得快速阅读以了解如何处理平台特定测试 flakiness;关注条件变量的定义和使用模式,以及作者基于观察的决策。

讨论亮点

review 中,gemini-code-assist[bot] 建议将 ATTN_BACKEND 应用到文件中的所有相关测试以完全解决 flakiness。作者 micah-wil 回应称,由于未观察到其他测试的问题,因此无需更改,最终决定只修改部分测试。

实现拆解

实现集中于文件 tests/models/language/generation/test_hybrid.py:新增全局变量 ATTN_BACKEND = 'TRITON_ATTN' if current_platform.is_rocm() else 'auto';然后,在多个测试函数中(如 test_models、test_chunked_prefill_with_parallel_sampling 等),将 attention_backend=ATTN_BACKEND 参数添加到 vllm_runner 调用中。

文件 模块 状态 重要度
tests/models/language/generation/test_hybrid.py 测试模块 modified 5.0

关键符号

ATTN_BACKEND test_models test_chunked_prefill_with_parallel_sampling test_full_cuda_graph _get_vllm_runner_params test_apc_common_prefix_same_batch

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

评论区精华

测试覆盖率 测试

gemini-code-assist[bot] 建议将 ATTN_BACKEND 应用到所有相关测试以完全解决 flakiness,但作者 micah-wil 认为未观察到问题的测试无需更改。

结论:仅修改部分测试,作者基于观察决定。 · 已解决

风险与影响

风险较低:变更仅影响测试代码,不涉及生产逻辑;潜在风险是未覆盖所有测试(如 test_batching 等),可能导致某些测试仍不稳定,但作者评估那些测试无问题,风险可控。

影响仅限于 ROCm 平台的 CI 测试环境,提高测试稳定性和可靠性;对用户、系统和团队无直接影响。

部分测试未修改

关联 Issue

未识别关联 Issue

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

完整报告

参与讨论