Prhub

#43663 [XPU][CI] Add more test cases in Intel GPU CI

原始 PR 作者 zxd1997066 合并时间 2026-06-08 14:21 文件变更 4 提交数 28 评论 13 代码增减 +245 / -1

执行摘要

扩展 Intel GPU CI 测试覆盖

PR 目的为在 Intel GPU CI 中添加更多测试用例,以提升硬件平台测试覆盖率,确保功能正确性。参见 PR body:'Add more test cases in Intel GPU CI'。

该 PR 为纯 CI 配置变更,无核心逻辑改动。值得关注的是作者坚持 --deselect 前缀的做法以及 worker 测试的缺失;建议后续迭代中验证 deselect 有效性并补齐 worker 覆盖。

讨论亮点
  • --deselect 路径前缀争议gemini-code-assist[bot] 指出 --deselect 路径包含 tests/ 前缀,但 pytest 在 tests 目录内执行会导致 deselect 失效。作者回复 “per CI results, it needs tests/” 坚持保留,最终未修改。
  • Worker 测试缺失Async Engine, Inputs, Utils, Worker 步骤中缺少 worker 相关依赖和测试,作者以 “aligned with misc.yaml” 回应,表示与主仓库保持一致。
  • 依赖范围收窄:将 vllm/ 拆分为具体子目录后,vllm/worker/vllm/attention/ 等不再触发 V1 Sample/Logits 等步骤,作者同样以对齐主仓库为由。
  • Basic Models 测试移除jikunshang 认为 basic 模型测试可移除,最终该文件从 PR 中删除。
  • EPLB 支持确认jikunshang 询问 EPLB 是否已在 XPU 支持,未获公开回复但 PR 仍合并,可能已线下确认。

实现拆解

实现分四步:

  1. 新增多模态模型测试配置 (models_multimodal_intel.yaml):定义 4 个标准多模态 step(qwen2、qwen3+gemma、llava+qwen2_vl、其他+whisper)和一个 processor step,后者设置 parallelism: 4 以支持 sharding。
  2. 扩展现有 misc 配置 (misc_intel.yaml):在原 V1 Executor、V1 Sample+Logits、XPU CPU Offload 基础上,新增 Regression、Metrics & Tracing(2 GPU)、Async Engine/Inputs/Utils/Worker 步骤;同时将 V1 Sample + Logits 的 source_file_dependencies 从宽泛的 vllm/ 精确至具体子目录以精准触发。
  3. 新增专家并行测试配置 (expert_parallelism_intel.yaml):加入 EPLB Algorithm 测试步骤,验证专家并行负载均衡逻辑。
  4. 更新 runner 脚本 (run-intel-test.sh):添加 BUILDKITE_PARALLEL_JOBBUILDKITE_PARALLEL_JOB_COUNT 环境变量传递,支持 test sharding。
文件 模块 状态 重要度
.buildkite/intel_jobs/models_multimodal_intel.yaml CI 配置 added 5.97
.buildkite/intel_jobs/misc_intel.yaml CI 配置 modified 5.21
.buildkite/intel_jobs/expert_parallelism_intel.yaml CI 配置 added 4.72
.buildkite/scripts/hardware_ci/run-intel-test.sh CI 脚本 modified 2.64

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

评论区精华

--deselect 路径前缀争议 正确性

gemini-code-assist[bot] 指出 --deselect 路径包含 tests/ 前缀,但 pytest 在 tests 目录内执行会导致 deselect 失效。作者回复 'per CI results, it needs tests/' 坚持保留。

结论:作者未修改,最终合并时保留 tests/ 前缀。 · unresolved

Worker 测试缺失 测试

gemini-code-assist[bot] 指出 Async Engine, Inputs, Utils, Worker 步骤中缺少 worker 相关依赖和测试。作者回复 'aligned with misc.yaml'。

结论:未添加 worker 测试,保持与主仓库 misc.yaml 一致。 · unresolved

依赖范围收窄导致触发遗漏 设计

gemini-code-assist[bot] 指出将 vllm/ 拆分为具体子目录后,vllm/worker/、vllm/attention/ 等不再触发 V1 Sample+Logits 等步骤。作者回复 'aligned with misc.yaml'。

结论:接受当前依赖列表,与主仓库对齐。 · unresolved

Basic Models 测试配置移除 other

jikunshang 认为 basic 模型测试可移除,因为 vllm 正在清理过时模型支持。

结论:该文件(models_basic_intel.yaml)最终从 PR 中删除。 · 已解决

EPLB 在 XPU 上的支持确认 question

jikunshang 在 expert_parallelism_intel.yaml 中提问 'do we support EPLB currently? @yma11'。

结论:未收到公开回复,但 PR 已合并,推测已线下确认或暂时跳过。 · unresolved

风险与影响

  • 测试覆盖不完整Async Engine, Inputs, Utils, Worker 步骤未包含 worker 测试,可能遗漏 Worker 回归。
  • 依赖遗漏风险:依赖从 vllm/ 改为精确子目录后,若核心代码变动(如 vllm/core/vllm/attention/)但未列入依赖,相应测试不会被触发。
  • Deselect 可能失效:尽管作者依据 CI 结果保留 tests/ 前缀,但与常规 pytest 行为冲突,未来版本或配置变化可能导致大模型被错误运行。
  • 整体风险低:变更仅影响 CI 配置,不影响运行时逻辑。
  • CI 系统:Intel GPU CI 管道增加约 6 个新测试组,总耗时可能上升,但通过并行和 sharding 控制。
  • 开发者:提交涉及 XPU 的变更时更多测试自动运行,及早发现回归。
  • 用户:无直接影响,但间接提升 Intel GPU 平台发布的稳定性。
  • 团队:CI 配置与主仓库(.buildkite/test_areas/)对齐,便于后续维护。
Worker 测试覆盖缺失 依赖精确化可能遗漏触发 deselect 路径不一致 EPLB 支持未确认

关联 Issue

未识别关联 Issue

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

完整报告

参与讨论