Prhub

#21239 Refactor JIT kernel CI to use run_suite.py registration system

原始 PR 作者 merrymercy 合并时间 2026-03-24 12:17 文件变更 63 提交数 3 评论 2 代码增减 +312 / -87

执行摘要

将 JIT 内核 CI 迁移到中央化注册系统,提升测试可维护性。

根据 PR body,迁移是为了使用中央化的 run_suite.py + register_cuda_ci 注册系统,以提高 CI 的一致性和可管理性。具体目标是替换原始的 pytest/shell 调用,简化测试发现和运行,并引入新的测试套件(如 stage-b-kernel-unit-1-gpu-large)以更好组织测试。

建议技术管理者关注此 PR 以了解 CI 注册系统的演进,工程师可精读 test/run_suite.py 的修改和 register_cuda_ci 的调用模式,作为未来添加测试的参考。设计决策值得学习,包括套件划分、测试时间估算和禁用处理。

讨论亮点

本 PR 没有 review 评论,因此无讨论内容。

实现拆解

实现分为三个主要模块:

1) CI 配置文件:修改 .github/workflows/pr-test-jit-kernel.yml,将测试运行命令从直接调用 pytest 改为使用 run_suite.py;在 .github/workflows/nightly-test-nvidia.yml 中添加新作业 nightly-test-kernel-1-gpu-h100 以支持夜间测试。
2) 测试文件注册:在 python/sglang/jit_kernel/tests/ 和 benchmark/ 下的 58 个文件中添加 register_cuda_ci 调用,指定测试时间、套件和禁用状态(如需要多 GPU 的测试)。
3) 测试发现扩展:修改 test/run_suite.py,扩展 glob 模式以发现 JIT 内核测试和基准测试文件,确保它们能被 run_suite.py 自动收集。此外,修复了 test_nvfp4_*.py 中的 main 守卫和 test_custom_all_reduce.py 的调度逻辑。

文件 模块 状态 重要度
.github/workflows/pr-test-jit-kernel.yml CI modified 8.0
.github/workflows/nightly-test-nvidia.yml CI modified 7.0
test/run_suite.py 测试框架 modified 8.0
python/sglang/jit_kernel/tests/test_add_constant.py JIT 内核测试 modified 6.0
python/sglang/jit_kernel/benchmark/bench_awq_dequantize.py JIT 内核基准测试 modified 6.0

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

评论区精华

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

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

风险与影响

风险包括:

1) 回归风险:更改测试运行方式(从 pytest 到 run_suite.py)可能导致某些测试被遗漏或运行失败,需验证所有测试套件正确发现;具体到 test/run_suite.py 的 glob 扩展,若路径匹配错误可能影响其他测试。
2) 性能风险:新增的夜间测试作业(nightly-test-kernel-1-gpu-h100)可能增加 CI 运行时间,需监控超时设置(timeout-minutes: 240)。
3) 兼容性风险:注册系统依赖统一的 register_cuda_ci 调用,若测试文件缺少调用或参数错误(如 est_time 不准确),可能导致 CI 任务失败或资源浪费。
4) 维护风险:删除 scripts/version_branch_to_tag.sh 可能影响发布流程,但该文件似乎已过时(参考相关 PR 21231)。

影响范围:

1) 用户:开发者运行 CI 测试时,将使用更统一的命令,简化调试;但需确保测试文件已正确注册。
2) 系统:CI 管道更一致,测试发现更自动化,可能提高测试覆盖率和可靠性;夜间测试扩展增强了 JIT 内核的全面验证。
3) 团队:减少维护多个独立测试脚本的开销,促进代码复用;影响程度中等,主要限于测试基础设施,不涉及核心业务逻辑。

测试流程变更 依赖中央系统 可能遗漏测试 CI 时间增加

关联 Issue

未识别关联 Issue

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

完整报告

参与讨论