Prhub

#30446 [AMD] Register 2 CPU-bound 1-GPU tests (phase_checker, scripted_runtime_core) for AMD PR CI

原始 PR 作者 michaelzhang-ai 合并时间 2026-07-09 05:04 文件变更 2 提交数 2 评论 1 代码增减 +4 / -2

执行摘要

为 AMD CI 注册两个 1-GPU 测试

增加 AMD PR CI 的测试覆盖范围,确保 AMD GPU 上核心逻辑的正确性。PR body 说明两个测试已在 NVIDIA 上运行并已验证在 AMD 上通过。

该 PR 属于基础设施层面的常规维护,不涉及复杂逻辑,可直接合并。值得关注的是其筛选测试的原则:优先选取不依赖 CUDA 独占特性的测试,并验证了实际运行结果,为后续 AMD CI 扩展提供了参考模式。

讨论亮点

无 review 评论或讨论。

实现拆解

  1. test/registered/scripted_runtime/test_scripted_runtime_core.py 中,将 register_cuda_ci 的导入改为同时导入 register_amd_ci,并在 register_cuda_ci 调用下方新增一行 register_amd_ci(est_time=460, stage="stage-b", runner_config="1-gpu-small-amd")
  2. test/registered/utils/test_phase_checker.py 中进行完全相同的修改,est_time 设为 120。
  3. 移除最初尝试包含的 test_utils_update_weights.py,因为其 setUpClass 导入 torch_memory_saver 在 ROCm 上不可用,导致 ModuleNotFoundError
文件 模块 状态 重要度
test/registered/scripted_runtime/test_scripted_runtime_core.py 运行时测试 modified 4.13
test/registered/utils/test_phase_checker.py 阶段检查测试 modified 3.92

关键源码片段

test/registered/scripted_runtime/test_scripted_runtime_core.py test-coverage

注册 AMD CI 运行入口,新增一行 register_amd_ci 调用,改动量小但影响 CI 覆盖。

# 文件:test/registered/scripted_runtime/test_scripted_runtime_core.pyimport unittestfrom sglang.srt.managers.schedule_batch import FINISH_ABORT
from sglang.test.ci.ci_register import register_amd_ci, register_cuda_ci # 新增 AMD 注册导入
from sglang.test.scripted_runtime.context import ScriptedContext
from sglang.test.scripted_runtime.http_server import ScriptedHttpServer
from sglang.test.scripted_runtime.req_handle import ScriptedReqHandle
from sglang.test.scripted_runtime.test_case import ScriptedTestCase
from sglang.test.scripted_runtime_chunked_helpers import (
    advance_to_decode_step,
    advance_to_nth_chunk,
    base_engine_kwargs,
    exhaust_row_pool,
    run_until_finished,
    warmup_radix,
)
from sglang.test.test_utils import CustomTestCase# 注册 NVIDIA CI(原有)
register_cuda_ci(est_time=460, stage="base-b", runner_config="1-gpu-small")
# 注册 AMD CI(新增):使用相同估算时间,但指定 AMD 流水线阶段和 runner 配置
register_amd_ci(est_time=460, stage="stage-b", runner_config="1-gpu-small-amd")
test/registered/utils/test_phase_checker.py test-coverage

与上述文件相同模式,为 phase_checker 测试添加 AMD CI 注册。

# 文件:test/registered/utils/test_phase_checker.pyimport torch
from sglang.srt.utils.phase_checker import SimplePhaseChecker
from sglang.test.ci.ci_register import register_amd_ci, register_cuda_ci # 新增 AMD 注册导入
from sglang.test.test_utils import CustomTestCase# 注册 NVIDIA CI(原有)
register_cuda_ci(est_time=120, stage="base-b", runner_config="1-gpu-small")
# 注册 AMD CI(新增)
register_amd_ci(est_time=120, stage="stage-b", runner_config="1-gpu-small-amd")

评论区精华

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

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

风险与影响

风险极低。两个测试均使用通用 PyTorch 操作或纯 CPU 逻辑,不涉及 CUDA 专用 API。导入的模块已在 NVIDIA CI 中验证,且 AMD CI 已在实际 ROCm 环境中通过了测试。排除的 test_utils_update_weights.py 避免了注册后因依赖缺失导致测试崩溃的风险。

对用户无直接影响。对开发团队而言,AMD 硬件上的 CI 覆盖范围得到扩展,有助于更早发现回归问题。变更仅涉及测试注册,不影响任何生产代码。影响程度:小。

关联 Issue

未识别关联 Issue

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

完整报告

参与讨论