已合并
fix: 适配sparse_flash_mla算子pytest aclgraph #8759
SH_jingsong创建于 7月15日
fix: 适配sparse_flash_mla算子pytest aclgraph #8759
已合并
SH_jingsong创建于 7月15日
已删除 :master合入到cann/ops-transformermaster
SH_jingsong
SH_jingsong成员
7月15日

描述

fix: 适配sparse_flash_mla算子pytest aclgraph

关联的Issue

https://gitcode.com/cann/ops-transformer/issues/3787

测试

文档更新

类型标签

likedislike
Pull Request已成功合入, 合并人@CANN-robot
(感谢 SH_jingsong 的贡献)
SH_jingsongSH_jingsong成员
7月15日 创建了 pull request,commit f11b8926
atomgit-bot
atomgit-bot
7月15日 评论:

变更摘要

此PR主要为 sparse_flash_mla 算子新增了 aclgraph 图模式(torch.compile + torchair)下的 pytest 批量测试支持,使得该算子能够在 NPU 静态图编译模式下进行自动化精度验证。改动涉及新增图模式调用入口、扩展 Shell 批量执行脚本、以及新建独立的图模式批量测试文件。

主要改动

  • 新增 Network.forward 方法:在 sparse_flash_mla_process.py 中为 Network 类补全了 forward 方法,直接调用 torch.ops.cann_ops_transformer.sparse_flash_mla,作为 torch.compile 追踪图的计算载体。
  • 新增 call_npu_graph 函数:在 sparse_flash_mla_process.py 中新增该函数,通过 torchair.get_npu_backend 配置 CompilerConfig(包括 _aclnn_static_shape_kernelfrozen_parametertiling_schedule_optimize 等选项),并调用 torch.compile 编译 Network 后在 NPU 上执行推理,返回结果供精度比对。
  • Shell 脚本新增 load_graph 子命令:在 test_run.sh 中新增 run_script_load_graph 函数及对应的命令行入口,支持按目录全量或按 Excel 表格筛选的方式,批量以隔离进程执行 Graph 模式的 pytest 用例,并汇总通过/失败统计。
  • 新增 test_sparse_flash_mla_batch_graph.py 批量测试文件:该文件通过 @pytest.mark.graph 标记和 pytest.mark.parametrize 参数化机制,加载 .pt 保存的用例数据,调用 sparse_flash_mla_process.call_npu_graph 执行图模式推理,并使用 result_compare_method.check_result 进行精度校验与结果保存。
likedislike
CANN-robotCANN-robot成员
7月15日 添加了label:cann-cla/yes
CANN-robot
CANN-robot成员
7月15日 评论:

Thanks for your pull-request.
The full list of commands accepted by me can be found at here
You can get sig-info at here


PR Approval Progress

Congratulations! All modules have met the lgtm and approve requirements.

Module Approval Details

module lgtm status approve status
attention wangzhe123456789, tang-hao-hw-gitcode (2/2) wangzhe123456789, tang-hao-hw-gitcode (2/1)

💡 Tip:

  • Committer can comment /approve or /lgtm
  • Commenting /approve implies both code review (lgtm) and intent to merge (approve)

CLA Signature Pass

SH_jingsong, thanks for your pull request. All authors of the commits have signed the CLA. 👍

likedislike
CANN-robotCANN-robot成员
7月15日 将hz36amy_00,coder_linx,juyangokok,monologue815,xuanyuandy,crystalhu,yu-xinjie62,huangwei791,jiang-lirui,yang-binrong,Allan_Yu,liudan12,huang_li,wangzhe123456789,cc-z,shen_weiling,gaoxiang618,songjionghui,wenxin_fight,miaofangzheng,mabing1118,tang-hao-hw-gitcode,haijie_699874,zzy__,yuhao_,L_Euler设为评审人
此处折叠了7条事件消息 查看更多
CANN-robotCANN-robot成员
7月15日 添加了label:stat/needs-squash
SH_jingsong
SH_jingsong成员
7月16日 评论:

/compile

likedislike
SH_jingsongSH_jingsong成员
7月16日 update merge request[project id: 7673863, iid: 8759, commit_id: 9fccf7e4177db1e02c4c95a3cb2afb94d0956366] virtual merging success
CANN-robotCANN-robot成员
7月16日 添加了label:ci-pipeline-running
CANN-robot
CANN-robot成员
7月16日 评论:

流水线任务触发成功
任务链接 [57e0b07d8d474931ad220c1f11746daa][流水线指导]

任务名称状态日志下载链接
Compile_Ascend_X86 ✅ SUCCESS >>>>> >>>>>
Compile_Ascend_ARM ✅ SUCCESS >>>>> >>>>>
Compile_Ascend_X86_experimental ✅ SUCCESS >>>>> >>>>>
Compile_Ascend_ARM_experimental ✅ SUCCESS >>>>> >>>>>
Compile_Pre ✅ SUCCESS >>>>>
pre_comment ✅ SUCCESS >>>>>
Compile_Ascend_X86_ubuntu24 ✅ SUCCESS >>>>> >>>>>
Compile_Ascend_X86_mobile_station_ubuntu24 ✅ SUCCESS >>>>> >>>>>
Compile_Ascend_ARM_ubuntu24 ✅ SUCCESS >>>>> >>>>>
Compile_Ascend_X86_experimental_ubuntu24 ✅ SUCCESS >>>>> >>>>>
Compile_Ascend_ARM_experimental_ubuntu24 ✅ SUCCESS >>>>> >>>>>
Compile_X86_monitor_910b ✅ SUCCESS >>>>> >>>>>
Compile_X86_monitor_910c ✅ SUCCESS >>>>> >>>>>
Compile_X86_monitor_950 ✅ SUCCESS >>>>> >>>>>
Compile_Ascend_X86_experimental_950 ✅ SUCCESS >>>>> >>>>>
Compile_Ascend_ARM_experimental_950 ✅ SUCCESS >>>>> >>>>>
Compile_Ascend_X86_experimental_950_ubuntu24 ✅ SUCCESS >>>>> >>>>>
Compile_Ascend_ARM_experimental_950_ubuntu24 ✅ SUCCESS >>>>> >>>>>
Compile_classify ✅ SUCCESS >>>>>
UT_Test ✅ SUCCESS
PreSmoke_A900 ✅ SUCCESS >>>>>
API_Check ✅ SUCCESS >>>>>
PreSmoke_ATK_Test_A2 ✅ SUCCESS >>>>>
UT_Test_harmony-infer-chs-transformer ✅ SUCCESS
UT_Test_report_lcov ⚠️ WARNING >>>>>

[2026-07-16 09:37:33]    CI执行结束

likedislike
SH_jingsongSH_jingsong成员
7月16日 update merge request[project id: 7673863, iid: 8759, commit_id: ecf410dc43d87db371ac14f41c0108a403baddbe] virtual merging success
CANN-robot
CANN-robot成员
7月16日 评论:

流水线任务触发成功
任务链接 [c7e4738cb4aa4b8c82ef5dc5bbe4a6f9][流水线指导]

任务名称状态日志下载链接
codecheck ✅ SUCCESS >>>>>
SCA ✅ SUCCESS >>>>>
antipoison ✅ SUCCESS >>>>>
codecheck_style ✅ SUCCESS >>>>>
StaticCheck_codespell ✅ SUCCESS
StaticCheck_link_validity ✅ SUCCESS
StaticCheck_resource_existence ✅ SUCCESS
StaticCheck_tag_closed ✅ SUCCESS
StaticCheck_markdownlint ✅ SUCCESS
codecheck_checkpr ❌ FAILED
codecheck_precommit ⚠️ WARNING >>>>> >>>>>
likedislike
SH_jingsongSH_jingsong成员
7月16日 强制推送  1 个提交:d161b524-fix: 适配sparse_flash_mla算子pytest aclgraph
SH_jingsongSH_jingsong成员
7月16日 update merge request[project id: 7673863, iid: 8759, commit_id: 780e12d62bc315dc3e34093604a2c9fff18f1906] virtual merging success
CANN-robotCANN-robot成员
7月16日 删除了label:stat/needs-squash
CANN-robot
CANN-robot成员
7月16日 评论:

Notification

This pull request has been changed(code update) or closed, so removes the following label(s): stat/needs-squash.

likedislike
SH_jingsongSH_jingsong成员
7月16日 update merge request[project id: 7673863, iid: 8759, commit_id: 843646206b31f5211852c330cdd8dc1335285801] virtual merging success
SH_jingsongSH_jingsong成员
7月16日 强制推送  1 个提交:12e2a21d-fix: 适配sparse_flash_mla算子pytest aclgraph
SH_jingsongSH_jingsong成员
7月16日 update merge request[project id: 7673863, iid: 8759, commit_id: dd5a78ca6178d46860a0addfca21b894e8a70154] virtual merging success
CANN-robotCANN-robot成员
7月16日 添加了label:api-check-pass
CANN-robotCANN-robot成员
7月16日 删除了label:ci-pipeline-running
CANN-robotCANN-robot成员
7月16日 添加了label:ci-pipeline-failed
SH_jingsong
SH_jingsong成员
7月16日 评论:

/compile

likedislike
SH_jingsongSH_jingsong成员
7月16日 update merge request[project id: 7673863, iid: 8759, commit_id: d5d068d608ece0bd92ab15a40775489f39d5c655] virtual merging success
CANN-robotCANN-robot成员
7月16日 删除了label:ci-pipeline-failedapi-check-pass
CANN-robotCANN-robot成员
7月16日 添加了label:ci-pipeline-running
CANN-robot
CANN-robot成员
7月16日 评论:

流水线任务触发成功
任务链接 [f26ffb660ac243fa83b5710a58945445][流水线指导]

任务名称状态日志下载链接
Compile_Ascend_X86 ✅ SUCCESS >>>>> >>>>>
Compile_Ascend_ARM ✅ SUCCESS >>>>> >>>>>
Compile_Ascend_X86_experimental ✅ SUCCESS >>>>> >>>>>
Compile_Ascend_ARM_experimental ✅ SUCCESS >>>>> >>>>>
Compile_Pre ✅ SUCCESS >>>>>
pre_comment ✅ SUCCESS >>>>>
Compile_Ascend_X86_ubuntu24 ✅ SUCCESS >>>>> >>>>>
Compile_Ascend_X86_mobile_station_ubuntu24 ✅ SUCCESS >>>>> >>>>>
Compile_Ascend_ARM_ubuntu24 ✅ SUCCESS >>>>> >>>>>
Compile_Ascend_X86_experimental_ubuntu24 ✅ SUCCESS >>>>> >>>>>
Compile_Ascend_ARM_experimental_ubuntu24 ✅ SUCCESS >>>>> >>>>>
Compile_X86_monitor_910b ✅ SUCCESS >>>>> >>>>>
Compile_X86_monitor_910c ✅ SUCCESS >>>>> >>>>>
Compile_X86_monitor_950 ✅ SUCCESS >>>>> >>>>>
Compile_Ascend_X86_experimental_950 ✅ SUCCESS >>>>> >>>>>
Compile_Ascend_ARM_experimental_950 ✅ SUCCESS >>>>> >>>>>
Compile_Ascend_X86_experimental_950_ubuntu24 ✅ SUCCESS >>>>> >>>>>
Compile_Ascend_ARM_experimental_950_ubuntu24 ✅ SUCCESS >>>>> >>>>>
Compile_classify ✅ SUCCESS >>>>>
UT_Test ✅ SUCCESS
PreSmoke_A900 ✅ SUCCESS >>>>>
API_Check ✅ SUCCESS >>>>>
PreSmoke_ATK_Test_A2 ✅ SUCCESS >>>>>
UT_Test_harmony-infer-chs-transformer ✅ SUCCESS
UT_Test_report_lcov ⚠️ WARNING >>>>>

[2026-07-16 10:09:24]    CI执行结束

likedislike
CANN-robot
CANN-robot成员
7月16日 评论:

流水线任务触发成功
任务链接 [a1e13f33e8f2418cbc3f4e45aceceeff][流水线指导]

任务名称状态日志下载链接
codecheck ✅ SUCCESS >>>>>
SCA ✅ SUCCESS >>>>>
antipoison ✅ SUCCESS >>>>>
codecheck_style ✅ SUCCESS >>>>>
StaticCheck_codespell ✅ SUCCESS
StaticCheck_link_validity ✅ SUCCESS
StaticCheck_resource_existence ✅ SUCCESS
StaticCheck_tag_closed ✅ SUCCESS
StaticCheck_markdownlint ✅ SUCCESS
codecheck_checkpr ✅ SUCCESS
codecheck_precommit ⚠️ WARNING >>>>> >>>>>

[2026-07-16 09:55:58]    CI执行结束

likedislike
CANN-robotCANN-robot成员
7月16日 添加了label:api-check-pass
CANN-robotCANN-robot成员
7月16日 删除了label:ci-pipeline-running
CANN-robotCANN-robot成员
7月16日 添加了label:ci-pipeline-passed
SH_jingsongSH_jingsong成员
7月16日 修改了pull request 的描述
wangzhe123456789成员
7月16日 评论:

/lgtm
/approve

likedislike
CANN-robotCANN-robot成员
7月16日 添加了label:approved
tang-hao-hw-gitcode成员
7月16日 评论:

/approve

likedislike
CANN-robotCANN-robot成员
7月16日 添加了label:lgtm
CANN-robotCANN-robot成员
7月16日 关闭了关联的issue
CANN-robotCANN-robot成员
7月16日 合入了pull request