Pull Request已成功合入, 合并人@CANN-robot
(感谢 wangmingming 的贡献)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 |
|---|---|---|
| repo-cann/graph-autofusion | ✅ xchu42, zhang_shengjie, zhanj (3/2) | ✅ zhanj (1/1) |
💡 Tip:
- Committer can comment
/approveor/lgtm- Commenting
/approveimplies both code review (lgtm) and intent to merge (approve)
CLA Signature Pass
gcw_WTfSfUy7, thanks for your pull request. All authors of the commits have signed the CLA. 👍


/lgtm


compile


流水线任务触发成功
任务链接 [7f47f741e938469bb8048efc26695370][流水线指导]
| 任务名称 | 状态 | 日志 | 下载链接 |
|---|---|---|---|
| UT_Test_Python_superkernel | ✅ SUCCESS | >>>>> | |
| ST_Test_Python_superkernel | ✅ SUCCESS | >>>>> | |
| UT_Test_superkernel | ✅ SUCCESS | >>>>> | |
| UT_Test_autofuse_framework | ✅ SUCCESS | >>>>> | |
| ST_Test_autofuse_framework | ✅ SUCCESS | >>>>> | |
| UT_Test_autofuse_ascendc_api | ✅ SUCCESS | >>>>> | |
| ST_Test_autofuse_ascendc_api | ✅ SUCCESS | >>>>> | |
| ST_Test_autofuse_e2e | ✅ SUCCESS | >>>>> | |
| pre_comment | ✅ SUCCESS | >>>>> |
[2026-07-15 17:35:22] CI执行结束


/lgtm


参考https://mp.weixin.qq.com/s/X8WycG-70lhxB4sOdz9uJQ?scene=1&click_id=164741409这个软文的风格,只参考风格,不参考内容,给即将要直播的 graph-autofusion 仓库写一段宣传软文,参考昇腾 CANN 官方内容:https://www.hiascend.com/document/detail/zh/CANNCommunityEdition/latest/programug/graphdevg/autofuse_1_0000.html和 graph-autofusion 仓库描述https://gitcode.com/cann/graph-autofusion,或者你对 autofusion 自动融合有更好的理解,也可以补充。另外,graph-autofusion 仓库有 superkernel 业务内容,不属于 autofusion,不要体验 superkernel 的字眼,要求写的宣传软文要有足够吸引力。


PPT 内容通俗总结
这一页是昇腾 CANN 讲解AI 模型必须做算子自动融合的核心原因,先列出当下大模型、推荐网络遇到的三大性能痛点,最后提炼共性问题:
三个核心性能难题
- 大 Transformer 类模型:主核算子外围细碎小算子扎堆
像 DeepSeek-V4 这类大模型,每一层 Attention/MoE 主计算算子周围,都会伴随 reshape、cast、concat 这类轻量 “胶水小算子”。
每一层都要单独调度、读写全局内存,61 层重复叠加后,内核调度、内存反复搬运的开销会被成倍放大,拖慢整体速度。 - 业务模型算子组合不固定,胶水结构版本多变
同一个业务功能,不同模型版本的算子串联顺序不一样,比如版本 A 是 reshape→reduce→where,版本 B 换成 reshape→gather→cast→where。
传统固定规则的融合方案只能识别写死的算子路径,新版本的组合很容易漏掉,没法自适应变化;必须靠能理解算子语义、动态识别融合机会的方案。 - 推荐网络:算子分布零散、碎片化组合多
推荐模型没有统一的大主核,Embedding、特征交叉、稀疏分支、MLP 之间穿插大量零散小算子,张量形状、计算路径很分散。
单个小算子优化收益不明显,但这类算子数量极多,全部累加起来,整体性能损耗非常可观。
三大痛点共同特性
AI 模型普遍存在算子数量多、算子组合不固定、覆盖场景广的特点。
如果不做自动算子融合,大量细碎算子会带来频繁内核调度、反复读写全局内存 GM 的额外开销,造成严重性能损耗,这也是 AutoFuse 自动融合框架诞生要解决的核心问题。


/approve


Pull Request
描述
新增
af-reg-ascirSkill,为 graph-autofusion 项目提供 ASCIR 算子注册、修改、dtype 扩展、tmp buffer 注册及配套 UT/ST/E2E 测试的辅助指引,并覆盖 regbase 构建注册、ATT、Codegen、Python 暴露、性能模型、打包和上板故障诊断的完整修改面。Skill 覆盖的核心能力:
REG_ASC_IR、ATT/Codegen 实现类、注册表)。GetConversionDtype)和 tmp buffer 注册(CalcTmpBufSize/CalcXxxTmpSizeV2)。变更文件:
.claude/skills/af-reg-ascir/README.md:Skill 说明、功能、触发场景和验证方法。.claude/skills/af-reg-ascir/SKILL.md:Skill 主体,包含触发场景、执行原则、信息收集、关键路径、注册机制、新增/修改/dtype 扩展/UT/ST 生成流程、完整修改面检查矩阵、regbase 与官方 API 头规则、Python 暴露规则、上板错误分阶段诊断表、提交历史回归检查和验证要求。.claude/settings.json:在allowed_skills中注册Skill(af-reg-ascir)。变更类型
关联的Issue
关联 issue:#183
Issue 链接:https://gitcode.com/cann/graph-autofusion/issues/183
如何测试
ascir_builtin_ops_v2.cpp、v2_ascir_codegen_impl.h、share_graph、run_autofuse_test.sh)与仓库实际结构一致。核对清单
其他信息
本 Skill 沉淀了 ASCIR adapter 适配过程中(issue #180 / PR #1257)积累的注册、regbase、Codegen、Python 暴露和上板故障经验,用于规范后续 ASCIR 新增/修改流程,减少遗漏。