Prhub

#47376 [XPU][CI] Split test_punica_ops into separate pytest invocations for stability

原始 PR 作者 chaojun-zhang 合并时间 2026-07-02 15:50 文件变更 1 提交数 1 评论 1 代码增减 +3 / -1

执行摘要

拆分 XPU LoRA Punica CI 测试为独立进程

稳定 XPU LoRA Punica 内核 CI,通过将 test_punica_ops.py 拆分为三个独立的 pytest 调用来避免所有测试一起运行时出现的失败,并移除不断增长的 --deselect 排除列表。

值得合并。这是一个标准的最佳实践:将大型测试文件拆分为独立进程执行,消除相互影响。可作为 CI 稳定化的示例参考。

讨论亮点

无实质性 review 讨论。机器人 claude[bot] 因 PR 来自 fork 自动跳过;jikunshang 直接批准。

实现拆解

  1. 目标文件:.buildkite/intel_jobs/lora_intel.yaml 中的 LoRA Punica Kernels 步骤。
  2. 变更前:使用单条 pytest -v -s lora/test_punica_ops.py 命令附带 16 个 --deselect 参数逐个排除不稳定用例。
  3. 变更后:将该步骤拆分为三条独立的 pytest -v -s lora/test_punica_ops.py::test_kernels、pytest -v -s lora/test_punica_ops.py::test_kernels_hidden_size 和 pytest -v -s lora/test_punica_ops.py::test_add_lora_fused_moe_early_exit 命令,每条命令只运行特定测试类。
  4. 结果:消除了所有 --deselect 排除项,每个测试类独立运行避免相互干扰,CI 流程更简洁、更稳定。
文件 模块 状态 重要度
.buildkite/intel_jobs/lora_intel.yaml CI 配置 modified 3.48

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

评论区精华

没有提炼出高价值讨论线程

当前评论区没有形成足够清晰的争议点或结论,后续有更多讨论时会体现在这里。

风险与影响

风险极低。仅修改 CI 配置文件的命令部分,不涉及任何源码逻辑。拆分后三个测试类分别运行,若个别类仍存在资源竞争可能仍需进一步隔离,但整体方向正确。

影响范围仅限于 Intel GPU CI 的 LoRA Punica Kernels 步骤。对用户无影响;对团队而言,CI 稳定性提升,维护成本降低(不再需要持续追加排除项)。

仅配置变更,无代码风险

关联 Issue

未识别关联 Issue

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

完整报告

参与讨论