执行摘要
- 一句话:将 B200 CI 作业路由到 Kubernetes 集群
- 推荐动作:建议 CI 维护者重点关注新运行器上的测试通过率,尤其是需要多 GPU 的作业。同时可考虑采纳 review 评论中的建议,显式声明
num_devices 以避免资源分配问题。对于其他后续迁移工作,可参考本 PR 的分批验证策略。
功能与动机
根据 PR 描述,作者基于 Buildkite 构建 63724 和 63735 的验证结果,将已通过的 B200 作业逐步迁移到 b200-k8s 设备上,而未通过或被阻塞的作业仍保留在 b200 设备上,以控制迁移风险。
实现拆解
- 验证已通过的 B200 作业:通过
bk build view 命令从两个 Buildkite 构建中列出通过验证的 B200 任务。
- 修改 YAML 配置:在
.buildkite/test_areas/ 下的 10 个 YAML 文件中,将对应作业的 device 字段从 b200 改为 b200-k8s。
- 保留失败作业:未通过或被阻塞的作业保持原
device: b200,避免影响已有 CI 稳定性。
- 预提交检查:运行
pre-commit run 和 git diff --check 确保格式正确。
- 分两次提交:第一个 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 环境差异, 资源请求不明确
关联脉络
参与讨论