# PR #41453 完整报告

- 仓库：`vllm-project/vllm`
- 标题：[CI] Route part of B200 jobs to b200-k8s
- 合并时间：2026-05-06 10:00
- 原文链接：http://prhub.com.cn/vllm-project/vllm/pull/41453

---

# 执行摘要

- 一句话：将 B200 CI 作业路由到 Kubernetes 集群
- 推荐动作：建议 CI 维护者重点关注新运行器上的测试通过率，尤其是需要多 GPU 的作业。同时可考虑采纳 review 评论中的建议，显式声明 `num_devices` 以避免资源分配问题。对于其他后续迁移工作，可参考本 PR 的分批验证策略。

# 功能与动机

根据 PR 描述，作者基于 Buildkite 构建 63724 和 63735 的验证结果，将已通过的 B200 作业逐步迁移到 `b200-k8s` 设备上，而未通过或被阻塞的作业仍保留在 `b200` 设备上，以控制迁移风险。

# 实现拆解

1. **验证已通过的 B200 作业**：通过 `bk build view` 命令从两个 Buildkite 构建中列出通过验证的 B200 任务。
2. **修改 YAML 配置**：在 `.buildkite/test_areas/` 下的 10 个 YAML 文件中，将对应作业的 `device` 字段从 `b200` 改为 `b200-k8s`。
3. **保留失败作业**：未通过或被阻塞的作业保持原 `device: b200`，避免影响已有 CI 稳定性。
4. **预提交检查**：运行 `pre-commit run` 和 `git diff --check` 确保格式正确。
5. **分两次提交**：第一个 commit 包含所有配置修改，第二个 commit 单独修正 `kernels.yaml` 中的额外一处。

关键文件：
- `.buildkite/test_areas/compile.yaml`（模块 CI 配置；类别 config；类型 configuration）: 变更数量最多（4 处），涉及核心编译和融合测试区域。
- `.buildkite/test_areas/kernels.yaml`（模块 CI 配置；类别 config；类型 configuration）: 变更涉及 Kernels (B200) 和 FP4 MoE Test 两个作业，影响内核测试套件。
- `.buildkite/test_areas/lm_eval.yaml`（模块 CI 配置；类别 config；类型 configuration）: 变更涉及 LM Eval Qwen3.5 和 MoE Refactor 两个作业，影响模型评测套件。
- `.buildkite/test_areas/attention.yaml`（模块 CI 配置；类别 config；类型 configuration）: 变更 V1 attention (B200) 作业的设备标识。
- `.buildkite/test_areas/benchmarks.yaml`（模块 CI 配置；类别 config；类型 configuration）: 变更 Attention Benchmarks Smoke Test (B200) 的设备标识。
- `.buildkite/test_areas/distributed.yaml`（模块 CI 配置；类别 config；类型 configuration）: 变更 Distributed Tests (2 GPUs)(B200) 的设备标识。
- `.buildkite/test_areas/e2e_integration.yaml`（模块 CI 配置；类别 config；类型 configuration）: 变更端到端集成测试相关 B200 作业的设备标识。
- `.buildkite/test_areas/misc.yaml`（模块 CI 配置；类别 config；类型 configuration）: 变更杂项测试 B200 作业的设备标识。
- `.buildkite/test_areas/quantization.yaml`（模块 CI 配置；类别 config；类型 configuration）: 变更量化测试 B200 作业的设备标识。
- `.buildkite/test_areas/spec_decode.yaml`（模块 CI 配置；类别 config；类型 configuration）: 变更推测解码测试 B200 作业的设备标识。

关键符号：未识别


# 评论区精华

gemini-code-assist[bot] 评论指出：迁移到 `b200-k8s` 时，应显式指定 `num_devices: 2`，因为 K8s 运行器不会像之前 `b200` 那样默认分配 2 个 GPU，否则可能导致资源不足。该评论标记为高优先级，但最终 PR 未采纳此建议，未添加 `num_devices` 字段。simon-mo 对此 PR 给予了 Approve。

- 迁移到 K8s 时需显式指定 num_devices (design): PR 未采纳该建议，最终代码未添加 num_devices 字段。

# 风险与影响

- 风险：**环境差异风险**：`b200-k8s` 运行器的环境（驱动、CUDA 版本、依赖库等）可能与原有 `b200` 不一致，导致测试结果异常。**资源请求风险**：fusion-and-compile-unit-tests-2xb200 等作业依赖 2 个 GPU，但未显式声明 `num_devices`，K8s 运行器可能只分配 1 个 GPU 导致失败。**回退困难**：如果新运行器大面积失败，需要逐个 YAML 文件回退 device 值，但整体改动轻量，可快速恢复。
- 影响：**影响范围**：CI 基础设施，覆盖 10 个测试区域，涉及编译、内核、评测、注意力等关键测试套件。**影响程度**：中等——如果新运行器稳定，可提升资源利用率；如果出现问题，会导致相关 B200 测试阻塞。**用户影响**：无，仅影响 CI 流程。**团队影响**：需持续监控 b200-k8s 运行器的通过率，验证迁移效果。
- 风险标记：K8s 环境差异 , 资源请求不明确

# 关联脉络

- 暂无明显关联 PR