Prhub

#30290 [AMD] Register 5 CI-verified 1-GPU kernel/attention unit tests for AMD PR CI

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

执行摘要

为 AMD CI 注册 5 个已有单元测试

扩展 AMD per-commit (PR-tier) 测试覆盖,追踪 ROCm CI 仪表盘。所有 5 个测试已在 NVIDIA CI 上运行,且硬件无关(Triton kernel / plain-torch),因此只需标准 register_amd_ci(...) 两行编辑即可,无需 ROCm 特定代码。

该 PR 是标准基础设施维护,没有需要深入理解的设计决策。适合快速通过。

讨论亮点

无 review 评论。

实现拆解

  1. 导入 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
  2. 注册 AMD CI:在 register_cuda_ci(...) 之后添加 register_amd_ci(est_time=..., stage="stage-b", runner_config="..."),其中 runner_config 区分 1-gpu-large-amd1-gpu-small-amd 以适应不同超时和资源需求。
  3. 包含的文件test_dsa_metadata.pytest_trtllm_mha_page_table.pytest_gdn_noncontiguous_stride.pytest_kda_kernels.pytest_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_ciregister_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 CustomTestCaseregister_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 上持续回归。对用户无直接影响。

仅测试注册变更 已在两条 AMD 流水线验证

关联 Issue

未识别关联 Issue

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

完整报告

参与讨论