执行摘要
为 AMD CI 注册 5 个已有单元测试
扩展 AMD per-commit (PR-tier) 测试覆盖,追踪 ROCm CI 仪表盘。所有 5 个测试已在 NVIDIA CI 上运行,且硬件无关(Triton kernel / plain-torch),因此只需标准 register_amd_ci(...) 两行编辑即可,无需 ROCm 特定代码。
该 PR 是标准基础设施维护,没有需要深入理解的设计决策。适合快速通过。
无 review 评论。
扩展 AMD per-commit (PR-tier) 测试覆盖,追踪 ROCm CI 仪表盘。所有 5 个测试已在 NVIDIA CI 上运行,且硬件无关(Triton kernel / plain-torch),因此只需标准 register_amd_ci(...) 两行编辑即可,无需 ROCm 特定代码。
该 PR 是标准基础设施维护,没有需要深入理解的设计决策。适合快速通过。
无 review 评论。
register_amd_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=..., stage="stage-b", runner_config="..."),其中 runner_config 区分 1-gpu-large-amd 和 1-gpu-small-amd 以适应不同超时和资源需求。test_dsa_metadata.py、test_trtllm_mha_page_table.py、test_gdn_noncontiguous_stride.py、test_kda_kernels.py、test_unified_mamba_views.py,每个文件仅修改两行。| 文件 | 模块 | 状态 | 重要度 |
|---|---|---|---|
test/registered/attention/test_gdn_noncontiguous_stride.py |
GDN | modified | 3.52 |
test/registered/attention/test_kda_kernels.py |
KDA | modified | 3.52 |
test/registered/attention/test_trtllm_mha_page_table.py |
trtllm_mha | modified | 3.52 |
test/registered/kernels/test_dsa_metadata.py |
DSA | modified | 3.52 |
test/registered/unit/mem_cache/test_unified_mamba_views.py |
Mamba views | modified | 3.52 |
test/registered/attention/test_gdn_noncontiguous_stride.py
test-coverage
FLA GDN Triton kernels 的非连续步幅测试,注册到 AMD large suite。
# test/registered/attention/test_gdn_noncontiguous_stride.py
# 该测试验证 fused_gdn_gating 和 fused_sigmoid_gating_delta_rule_update
# 在非连续 a/b 输入下的正确性,模拟 Qwen3.5-27B v_per_group=3 场景
import unittest
import torch
from sglang.srt.layers.attention.fla.fused_gdn_gating import fused_gdn_gating
from sglang.srt.layers.attention.fla.fused_sigmoid_gating_recurrent import (
fused_sigmoid_gating_delta_rule_update,
)
from sglang.test.ci.ci_register import register_amd_ci, register_cuda_ci
# NVIDIA CI 注册
register_cuda_ci(est_time=7, stage="base-b", runner_config="1-gpu-large")
# AMD CI 注册,估计时间相同,分配到 stage-b large AMD 套件
register_amd_ci(est_time=7, stage="stage-b", runner_config="1-gpu-large-amd")
# ... 测试主体不变 ...
test/registered/attention/test_kda_kernels.py
test-coverage
KDA (Kimi delta attention) FLA Triton kernels 测试,注册到 AMD large suite。
# test/registered/attention/test_kda_kernels.py
# 测试 KDA fused sigmoid gating recurrent 及相关辅助函数
import unittest
import torch
from sglang.srt.layers.attention.fla.cumsum import chunk_local_cumsum
from sglang.srt.layers.attention.fla.fused_recurrent import (
fused_recurrent_kda_packed_decode,
)
from sglang.srt.layers.attention.fla.fused_sigmoid_gating_recurrent import (
fused_sigmoid_gating_delta_rule_update,
)
from sglang.srt.layers.attention.fla.index import prepare_chunk_indices
from sglang.srt.layers.attention.fla.kda import (
fused_recurrent_kda,
kda_gate_chunk_cumsum,
)
from sglang.srt.utils.common import get_device
from sglang.test.ci.ci_register import register_amd_ci, register_cuda_ci
register_cuda_ci(est_time=12, stage="base-b", runner_config="1-gpu-large")
register_amd_ci(est_time=12, stage="stage-b", runner_config="1-gpu-large-amd")
# ... 测试主体不变 ...
test/registered/attention/test_trtllm_mha_page_table.py
test-coverage
Triton 设备端 page-table 构建测试,注册到 AMD small suite。
# test/registered/attention/test_trtllm_mha_page_table.py
# 单元测试:验证 trtllm_mha 的设备端 page-table 构建与主机端 gather 结果一致
import unittest
from typing import Optional
import torch
from sglang.srt.layers.attention.triton_ops.trtllm_mha_page_table import (
build_trtllm_mha_page_table,
)
from sglang.test.ci.ci_register import register_amd_ci, register_cuda_ci
from sglang.test.test_utils import CustomTestCase
register_cuda_ci(est_time=14, stage="base-b", runner_config="1-gpu-small")
register_amd_ci(est_time=14, stage="stage-b", runner_config="1-gpu-small-amd")
# ... 测试主体不变 ...
当前评论区没有形成足够清晰的争议点或结论,后续有更多讨论时会体现在这里。
极低风险。变更仅涉及测试注册的元数据添加,不修改任何生产代码、测试逻辑或基础设施配置。已在 AMD MI325 (rocm700) 和 ROCm 7.2.0 (rocm720) 两条 CI 流水线上验证通过。
影响范围小,仅限于 AMD PR CI 流水线。受益于提升 AMD 平台的测试覆盖,确保 Triton kernel 和 plain-torch 代码在 AMD GPU 上持续回归。对用户无直接影响。
当前没有检测到明确关联的 Issue 链接,后续同步到相关引用后会出现在这里。
参与讨论