执行摘要
- 一句话:为7个JIT内核测试增加AMD夜间CI注册
- 推荐动作:该PR是标准的测试基础设施扩展,无技术复杂性,不值得精读。但可作为参考案例:如何在保持CUDA注册的同时,为AMD平台添加并行测试覆盖,且不破坏现有CI。
功能与动机
在AMD GPU(MI35x / gfx950)上持续验证JIT内核的正确性,防止退化。PR body明确指出这些测试在ROCm 7.0和7.2上均通过,并提供了详细的运行时数据表格和CI任务链接。
实现拆解
- 导入调整:在每个目标测试文件中,将
from sglang.test.ci.ci_register import register_cuda_ci 改为 from sglang.test.ci.ci_register import register_amd_ci, register_cuda_ci。
- 新增注册行:在现有的
register_cuda_ci(...) 行之后,添加一行:register_amd_ci(est_time=<具体预估时间>, suite="nightly-amd-kernel-1-gpu", nightly=True)。
- 验证:通过
run_suite.py --hw amd --suite nightly-amd-kernel-1-gpu --nightly 在ROCm 7.0和7.2上实际运行整个套件,所有7个测试均绿色通过。
关键文件:
test/registered/jit/minimax/test_minimax_decode_topk.py(模块 测试注册;类别 test;类型 test-coverage): 新增 register_amd_ci 导入和注册行,将MiniMax-M3 decode topk测试纳入AMD夜间CI。
test/registered/jit/minimax/test_minimax_store_kv_index.py(模块 测试注册;类别 test;类型 test-coverage): 同上,为MiniMax-M3 KV索引存储测试添加AMD夜间注册。
test/registered/jit/test_deepseek_v4_compress_state_runtime_shapes.py(模块 测试注册;类别 test;类型 test-coverage): 为DeepSeek-V4压缩状态形状测试添加AMD夜间注册,该测试参数规模较大(90个case),est_time设为25秒。
test/registered/jit/test_fused_store_index_cache.py(模块 测试注册;类别 test;类型 test-coverage): 为fused store index cache测试添加AMD夜间注册,注意该文件原有CUDA注册包含两个(一个标准、一个夜间),AMD注册仅需一个。
test/registered/jit/test_fused_verify_triton_gdn.py(模块 测试注册;类别 test;类型 test-coverage): 为fused verify triton GDN测试添加AMD夜间注册。
test/registered/jit/test_kvcacheio_asymmetric.py(模块 测试注册;类别 test;类型 test-coverage): 为KV cache IO不对称测试添加AMD夜间注册。
test/registered/jit/test_mla_kv_pack_quantize_fp8.py(模块 测试注册;类别 test;类型 test-coverage): 为MLA KV pack量化FP8测试添加AMD夜间注册。
关键符号:未识别
关键源码片段
test/registered/jit/minimax/test_minimax_decode_topk.py
新增 register_amd_ci 导入和注册行,将MiniMax-M3 decode topk测试纳入AMD夜间CI。
# 变更仅涉及导入和注册行,其余代码不变
from sglang.jit_kernel.minimax_decode_topk import minimax_decode_topk
from sglang.test.ci.ci_register import register_amd_ci, register_cuda_ci
# 原有 CUDA 注册保持不变
register_cuda_ci(est_time=40, suite="base-b-kernel-unit-1-gpu-large")
register_cuda_ci(est_time=40, suite="base-b-kernel-unit-1-gpu-b200")
# 新增 AMD 夜间注册,est_time 基于实际运行耗时
register_amd_ci(est_time=15, suite="nightly-amd-kernel-1-gpu", nightly=True)
评论区精华
无实质性review讨论。审核人HaiShaw直接批准,无任何评论。仅有amd-bot的CI状态评论确认所有CI失败与本PR无关。
风险与影响
- 风险:风险极低。变更纯粹是测试注册的添加,不涉及任何生产代码、工作流或依赖。唯一风险是这些测试在AMD环境下可能存在后续回归,但已被夜间CI覆盖,且PR已手动验证通过。
- 影响:影响范围:仅AMD夜间CI。影响程度:低。7个JIT内核测试将自动在AMD nightly流水线中运行,有助于及早发现AMD平台上的内核退化。对CUDA、MUSA等其他平台无影响。
- 风险标记:仅测试注册变更, 无生产代码影响
关联脉络
- PR #27644 [AMD] initial JIT kernel migration for ROCm: 本PR中部分测试(test_fused_store_index_cache, test_mla_kv_pack_quantize_fp8等)首次在AMD上验证通过,是该迁移工作的后续完善。
参与讨论