Prhub

#31199 [CI] Fix Flash MLA SM120 test import path

原始 PR 作者 mmangkad 合并时间 2026-07-15 00:01 文件变更 1 提交数 1 评论 4 代码增减 +1 / -1

执行摘要

修复 Flash MLA SM120 测试导入路径

PR#30789 将通用注意力内核迁移到 sglang.kernels 统一命名空间,导致旧导入路径 sglang.srt.layers.attention.flash_mla_sm120 失效,SM120 测试因 ImportError 而失败。本次修复的目的是使测试能够正确导入模块,从而恢复 CI 的正常运行。

该 PR 是一个标准、低风险的后续修复,无需精读。但可作为注意力内核迁移(PR#30789)的配套变更,作为重构时需同步更新测试导入的例子。

讨论亮点

该 PR 没有引发实质性讨论。提交者 mmangkad 在评论中请求重新运行测试,CI 通过后,合并者 alexnails 直接批准并合并。

实现拆解

  1. 在测试文件 test/registered/kernels/test_flash_mla_backends.py 中,将 from sglang.srt.layers.attention import flash_mla_sm120 as fmod 替换为 from sglang.kernels.ops.attention import flash_mla_sm120 as fmod,同时保留其他显式导入不变。
  2. 调整导入顺序以使分组更清晰:将新的 fmod 导入放在 from sglang.kernels.ops.attention.flash_mla_sm120 import 之前。
  3. 删除旧的导入行。
  4. 无其他配置或测试逻辑变更。
文件 模块 状态 重要度
test/registered/kernels/test_flash_mla_backends.py 测试 modified 3.7

关键源码片段

test/registered/kernels/test_flash_mla_backends.py test-coverage

唯一修改的文件;修复 SM120 FlashMLA 测试的导入路径以匹配内核迁移后的新命名空间。

"""SM120 FlashMLA sparse decode unit tests.Validates the SM120-specific FlashMLA implementation...
"""from __future__ import annotationsimport unittest
from unittest import mockimport torch# 修复:导入路径从 sglang.srt.layers... 改为 sglang.kernels.ops...
from sglang.kernels.ops.attention import flash_mla_sm120 as fmod
from sglang.kernels.ops.attention.flash_mla_sm120 import (
    _D,
    _NOPE_DIM,
    _NOPE_ROPE_STRIDE,
    _NUM_TILES,
    _ROPE_DIM,
    _SCALE_STRIDE,
    _TILE_SIZE,
    _gather_and_dequant,
    _sm120_sparse_decode_fwd,
    flash_mla_with_kvcache_sm120,
)
from sglang.kernels.ops.attention.flash_mla_sm120_triton import (
    _apply_attn_sink,
    _merge_partial_attn,
    flash_mla_sparse_decode_triton,
)
# 已删除:from sglang.srt.layers.attention import flash_mla_sm120 as fmod
from sglang.test.ci.ci_register import register_cuda_ci
from sglang.test.test_utils import CustomTestCaseregister_cuda_ci(est_time=45, stage="base-b", runner_config="1-gpu-large")# ... 后续测试代码不变

评论区精华

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

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

风险与影响

变更本身风险极低:仅涉及单行导入路径的修改,无运行时逻辑变更。但若未来再次重构导入路径,此类硬编码的导入需要同步更新。当前修复已通过 CI 验证。

直接影响:修复 SM120 FlashMLA 测试在 CI 中的导入错误,使测试恢复正常执行。间接影响:确保该测试持续验证 SM120 架构的 FlashMLA 实现正确性,避免回归。影响范围仅限于单个测试文件,不涉及生产代码。

关联 Issue

未识别关联 Issue

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

完整报告

参与讨论