Prhub

#38288 [AMD][CI] Remove obsolete split-dim check from Kimi-K3 prefill test

原始 PR 作者 bingxche 合并时间 2026-09-08 05:42 文件变更 1 提交数 1 评论 0 代码增减 +0 / -79

执行摘要

修复 AMD CI 因引用已删除 split-dim 内核测试模块导致的收集失败。

PR body 指出:“MI35x stage-b 测试在收集期间失败,因为 test_triton_mla_prefill_gfx950.py 仍然导入已删除的 extend_attention_split_dim 模块。该专用 split-dim 内核及其分发谓词已在 4e2fd9f1e9 中移除;通用的 extend_attention_fwd 路径现在处理这些 Kimi-K3 形状。遗留的导入阻止了该文件中所有实时数值测试的运行。” 此变更旨在修复此 CI 失败。

此 PR 是一个简单直接的 bugfix,值得快速审阅和合并。它修复了一个阻塞 CI 的问题,且改动范围明确、风险可控。建议关注其是否成功解决了报告的 CI 失败问题。

讨论亮点

PR 中没有 review 讨论。唯一的评论是 reviewer HaiShaw 的批准(APPROVED),表明变更符合预期且无需进一步讨论。

实现拆解

  1. 入口与目标:变更仅涉及测试文件 test/registered/unit/layers/attention/test_triton_mla_prefill_gfx950.py,旨在修复其收集失败,使其能继续在 AMD MI35x CI 上运行。
  2. 核心变更:移除了对已删除模块 sglang.kernels.ops.attention.extend_attention_split_dim 的导入,以及依赖该模块的整个测试方法 test_split_dim_dispatch_gates。此测试方法验证了 can_use_split_dim_absorbed_extend 谓词逻辑,但该逻辑所属的实现模块已被移除。
  3. 保留内容:保留了 TestKimiK3TritonPrefill 类中另外三个测试方法:test_split_dim_ragged_bf16、test_zero_prefix_fp8_flag 和 test_absorbed_fp8_cached_prefix。这些测试均调用当前存在的 extend_attention_fwd 函数,验证 Kimi-K3 形状下的不同 prefill 场景(BF16 ragged、零前缀 FP8、吸收式 FP8 缓存前缀),确保核心功能测试覆盖不受影响。
  4. 配套影响:此为纯测试变更,不影响任何运行时内核、调度逻辑或模型行为。通过修复测试收集失败,确保了 AMD CI 上该测试套件的稳定运行。
文件 模块 状态 重要度
test/registered/unit/layers/attention/test_triton_mla_prefill_gfx950.py MLA 注意力测试 modified 6.16

关键符号

test_split_dim_dispatch_gates can_use_split_dim_absorbed_extend

关键源码片段

test/registered/unit/layers/attention/test_triton_mla_prefill_gfx950.py test-coverage

这是本次唯一变更的文件,包含导致 CI 收集失败的过时导入和测试。

# 变更前:测试文件头部包含对已删除模块的导入
from sglang.kernels.ops.attention.extend_attention_split_dim import (
    can_use_split_dim_absorbed_extend,
)
​
# 变更后:测试文件头部移除了对已删除模块的导入
from sglang.kernels.ops.attention.extend_attention import extend_attention_fwd
from sglang.srt.environ import envs
from sglang.srt.utils import get_device, is_gfx95_supported, is_hip
from sglang.test.ci.ci_register import register_amd_ci
​
# 变更前:测试类中包含一个测试已删除逻辑的完整方法
    def test_split_dim_dispatch_gates(self):
        # ... ( 约 60 行代码,测试 can_use_split_dim_absorbed_extend 函数的各种条件 )
        self.assertTrue(
            can_use_split_dim_absorbed_extend(q, k, v, o, k_buffer, v_buffer, **kwargs)
        )
        # ... 测试 FP8 和其他覆盖条件
​
# 变更后:测试类中删除了上述整个 test_split_dim_dispatch_gates 方法。
# 只保留了三个针对 extend_attention_fwd 的测试方法 :
# test_split_dim_ragged_bf16, test_zero_prefix_fp8_flag, test_absorbed_fp8_cached_prefix

评论区精华

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

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

风险与影响

风险极低。此变更仅移除了对已删除代码的测试引用,属于测试清理。它不修改任何生产代码路径、内核或配置。唯一的风险是如果未来需要重新引入 split-dim 逻辑,需要手动恢复此测试,但鉴于原模块已被故意删除,这种可能性很低。

影响范围小且直接。

  • 对用户:无直接影响。此变更为内部测试修复。
  • 对系统:无功能影响。确保了 AMD CI 上 Kimi-K3 prefill 测试套件的稳定性,防止因测试收集失败而掩盖其他潜在问题。
  • 对团队:维护了 CI 的健康状态,确保相关测试能持续运行。移除了过时代码,减少了维护负担和潜在混淆。
测试覆盖

关联 Issue

未识别关联 Issue

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

完整报告

参与讨论