执行摘要
AMD 2-GPU allreduce 测试迁移至注册系统
使 AMD 2-GPU kernel 测试变为声明式注册,便于覆盖工具识别和 run_suite/LPT 自动分区,同时为后续迁移更多测试铺垫基础。PR body 明确指出这是“安全的第一个切片”,不会影响 NV 或 ROCm-7.2 行为。
低风险测试基础设施变更,推荐快速合并。值得关注的点:迁移模式可作为后续更多测试迁移的参考。
该 PR 没有公开的 review 评论。HaiShaw 直接批准。
使 AMD 2-GPU kernel 测试变为声明式注册,便于覆盖工具识别和 run_suite/LPT 自动分区,同时为后续迁移更多测试铺垫基础。PR body 明确指出这是“安全的第一个切片”,不会影响 NV 或 ROCm-7.2 行为。
低风险测试基础设施变更,推荐快速合并。值得关注的点:迁移模式可作为后续更多测试迁移的参考。
该 PR 没有公开的 review 评论。HaiShaw 直接批准。
sgl-kernel/tests/test_amd_nccl_allreduce_determinism.py 和 sgl-kernel/tests/test_amd_deterministic_custom_allreduce.py 移动至 test/registered/jit/,并在每个文件顶部添加 register_amd_ci(est_time=120, suite="sgl-kernel-unit-test-2-gpu-amd")。pr-test-amd.yml 和 pr-test-amd-rocm720.yml 中,将 2-GPU kernel 任务的硬编码 pytest 命令替换为 bash scripts/ci/amd/amd_ci_exec.sh -w "/sglang-checkout/test" python3 run_suite.py --hw amd --suite sgl-kernel-unit-test-2-gpu-amd。test/run_suite.py 的 AMD 有效套件列表中添加 "sgl-kernel-unit-test-2-gpu-amd"。test/registered/jit/test_activation.py 和 test/registered/jit/test_per_token_group_quant_8bit.py 中添加 register_amd_ci(est_time=20/16, suite="jit-kernel-unit-test-amd"),与现有 CUDA 注册并存。| 文件 | 模块 | 状态 | 重要度 |
|---|---|---|---|
test/registered/jit/test_amd_nccl_allreduce_determinism.py |
AMD CI | renamed | 4.8 |
test/registered/jit/test_amd_deterministic_custom_allreduce.py |
AMD CI | renamed | 4.72 |
.github/workflows/pr-test-amd.yml |
CI 配置 | modified | 4.03 |
test/registered/jit/test_activation.py |
JIT 内核 | modified | 3.52 |
test/registered/jit/test_per_token_group_quant_8bit.py |
JIT 内核 | modified | 3.52 |
test/run_suite.py |
测试框架 | modified | 3.11 |
.github/workflows/pr-test-amd-rocm720.yml |
CI 配置 | modified | 2.48 |
test/registered/jit/test_amd_nccl_allreduce_determinism.py
rename-or-move
从 sgl-kernel/tests 搬迁并注册到 AMD 2-GPU 套件
"""
Test to confirm non-determinism of default NCCL all-reduce with batch size invariance.
...
"""
import multiprocessing as mp
import socket
import pytest
import torch
import torch.distributed as dist
from sglang.test.ci.ci_register import register_amd_ci
# 注册到 AMD 2-GPU 套件,预估耗时 120s
register_amd_ci(est_time=120, suite="sgl-kernel-unit-test-2-gpu-amd")
def get_open_port():
with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:
s.bind(("127.0.0.1", 0))
return s.getsockname()[1]
def worker(world_size, rank, port):
# ... 测试逻辑保持不变 ...
当前评论区没有形成足够清晰的争议点或结论,后续有更多讨论时会体现在这里。
风险极低:变更仅涉及测试注册和 CI 工作流,不修改任何生产代码。已通过真实 MI325 2-GPU 环境验证,两个 allreduce 测试均通过。但工作流 dispatch 到 main 分支会因文件路径不同而失败(PR body 已说明,可接受)。
影响范围仅限于 AMD CI:
1) 2-GPU allreduce 测试从硬编码变为注册,对开发者无感知;
2) JIT kernel 测试新增 AMD CI 覆盖,扩大测试面;
3) 不影响 CUDA/ROCm-7.2 或其他后端。
当前没有检测到明确关联的 Issue 链接,后续同步到相关引用后会出现在这里。
参与讨论