执行摘要
修复 NPU 夜间测试失败问题
在 5 月 29 日夜间构建中,之前跳过的测试用例重新执行,但在 5 月 30 日触发的夜间流水线中,有 5 个测试用例由于自身实现问题执行失败。
该 PR 为常规维护性修复,无需精读。但可关注 test_ascend_utils.py 中权重路径和环境变量的管理方式,作为测试基础设施维护的参考。
只有 gemini-code-assist 机器人自动评论总结变更内容,无人工审查讨论。
在 5 月 29 日夜间构建中,之前跳过的测试用例重新执行,但在 5 月 30 日触发的夜间流水线中,有 5 个测试用例由于自身实现问题执行失败。
该 PR 为常规维护性修复,无需精读。但可关注 test_ascend_utils.py 中权重路径和环境变量的管理方式,作为测试基础设施维护的参考。
只有 gemini-code-assist 机器人自动评论总结变更内容,无人工审查讨论。
test_npu_no_overlap_scheduler.py 中将 run_mmlu_test 的导入路径从 sglang.test.ascend.test_ascend_utils 改为 sglang.test.test_utils,并调整为从同一模块导入多个符号。test_ascend_utils.py 中将 KIMI_VL_A3B_INSTRUCT_WEIGHTS_PATH 的模型权重目录从 Kimi/Kimi-VL-A3B-Instruct 更新为 moonshotai/Kimi-VL-A3B-Instruct。test_npu_deepep_auto_qwen3_next.py 和 test_npu_deepep_low_latency_qwen3_next.py 的环境变量字典中添加 GDN_ATTN_BACKEND_TRITON=1,以适配产品代码更新。test_ascend_utils.py 的 get_benchmark_args 函数调用中添加 ready_check_timeout_sec=0 参数,解决测试框架未适应代码更新导致失败的问题。| 文件 | 模块 | 状态 | 重要度 |
|---|---|---|---|
test/registered/ascend/basic_function/parameter/test_npu_no_overlap_scheduler.py |
调度测试 | modified | 4.13 |
python/sglang/test/ascend/test_ascend_utils.py |
测试工具 | modified | 3.92 |
test/registered/ascend/basic_function/parallel_strategy/expert_parallelism/test_npu_deepep_auto_qwen3_next.py |
DeepEP 测试 | modified | 3.28 |
test/registered/ascend/basic_function/parallel_strategy/expert_parallelism/test_npu_deepep_low_latency_qwen3_next.py |
DeepEP 测试 | modified | 3.28 |
test/registered/ascend/basic_function/parameter/test_npu_no_overlap_scheduler.py
test-coverage
修正了错误的 import 路径,将 run_mmlu_test 从 sglang.test.ascend.test_ascend_utils 改为 sglang.test.test_utils
# test_npu_no_overlap_scheduler.py ( 变更后 )
import unittest
from sglang.test.ci.ci_register import register_npu_ci
from sglang.test.test_utils import CustomTestCase, run_mmlu_test # 统一从 test_utils 导入
register_npu_ci(
est_time=400,
suite="nightly-1-npu-a3",
nightly=True,
)
class TestOverlapSchedule(CustomTestCase):
# ... 测试方法保持不变
python/sglang/test/ascend/test_ascend_utils.py
test-coverage
更新了 Kimi-VL 模型权重路径并添加了 ready_check_timeout_sec 参数
# test_ascend_utils.py ( 变更后片段 )
# 模型权重路径常量
KIMI_VL_A3B_INSTRUCT_WEIGHTS_PATH = os.path.join(
MODEL_WEIGHTS_DIR, "moonshotai/Kimi-VL-A3B-Instruct" # 从 Kimi 改为 moonshotai
)
# 在 get_benchmark_args 函数中调用 benchmark_serving 时补充参数
def get_benchmark_args(...):
# ... 其他参数
return benchmark_serving(
# ...
max_concurrency=max_concurrency,
ready_check_timeout_sec=0, # 新增参数,解决测试框架未适配问题
)
test/registered/ascend/basic_function/parallel_strategy/expert_parallelism/test_npu_deepep_auto_qwen3_next.py
test-coverage
添加环境变量 GDN_ATTN_BACKEND_TRITON=1 以适配产品代码更新
# test_npu_deepep_auto_qwen3_next.py ( 变更后环境变量部分 )
env={
"SGLANG_DEEPEP_BF16_DISPATCH": "1",
"PYTORCH_NPU_ALLOC_CONF": "expandable_segments:True",
"STREAMS_PER_DEVICE": "32",
"HCCL_OP_EXPANSION_MODE": "AIV",
"HCCL_ALGO": "level0:NA;level1:ring",
"SGLANG_DEEPEP_NUM_MAX_DISPATCH_TOKENS_PER_RANK": "20",
"HCCL_BUFFSIZE": "2000",
"GDN_ATTN_BACKEND_TRITON": "1", # 新增环境变量
**os.environ,
},
当前评论区没有形成足够清晰的争议点或结论,后续有更多讨论时会体现在这里。
所有修改仅涉及测试文件(.py 测试用例和测试工具类),不影响生产代码或模型推理逻辑。风险极低,但修改后的测试仅在 NPU 环境中有效,需确保权重路径和环境变量在对应环境中准确可用。
直接影响 Ascend NPU 夜间测试流水线,修复 5 个失败的测试用例。对用户和系统无影响。
当前没有检测到明确关联的 Issue 链接,后续同步到相关引用后会出现在这里。
参与讨论