Graph-autofusion 是一个面向昇腾(Ascend)芯片的轻量级、解耦式组件集合,旨在通过自动融合技术加速模型执行。 目前已开源 SuperKernel 组件,未来将持续开放更多自动融合相关模块。
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
feat: 优化 Cast 性能计算 Co-authored-by: gcw_V3YyYBt1<gaoxin32@huawei.com> # message auto-generated for no-merge-commit merge: !1266 merge develop into develop feat: 优化 Cast 性能计算 Created-by: gcw_V3YyYBt1 Commit-by: gcw_V3YyYBt1 Merged-by: cann-robot Description: # Pull Request ## 描述 ### 主要解决问题 - CastPerf 需要覆盖更多 CastExtend 实际执行路径,但原性能模型对 Cast 参数、循环次数、stride 分支和特殊类型转换路径的表达不完整,难以准确建模 int4、int64/uint8、同 bit 整数转换等场景。 - 旧的性能表查询主要按单 dtype 获取 latency/throughput,无法表达 kCast、kStore 这类同时依赖输入 dtype 和输出 dtype 的性能差异,例如 uint8 -> int64 store 成本和 float16/bfloat16/float32 Cast 成本。 - CastV2 codegen 与 ATT 参数链路需要把 CastExtend(dst, src, output_dims, output_stride, input_stride) 的原始参数传递到性能模型,避免 ATT 侧凭 shape 反推 codegen 已确定的参数。 ### 修改方案 - 为 CastV2 增加参数透传链路:定义并构建 Cast 节点参数,在 CastV2ApiCall::Generate 中填充 output_dims、output_strides、input_strides,并通过 specific_params 写入 NodeInfo,供 CastPerf 直接使用。 - 重构 CastPerf 公式实现:拆分 repeat 计算、data copy 成本、B4/B8/B64 特殊转换成本、同 bit integer 转换成本和特殊 Cast compute 成本,降低单函数复杂度并让每个分支更贴近实际 MicroAPI 路径。 - 新增通用 VfInstructDtypeMappingPerf 结构和 VfPerfUtils::Get/AddVfInstructDtypeMappingPerf,支持按 micro_api + input_dtype + output_dtype 查表,并按 input/default、default/output、default/default 逐级回退,仍未命中时按 0 计算。 - 在 V2 性能表中为 kCast、kStore 配置输入输出 dtype 映射,并将 CastPerf 中对应 kCast、kStore 成本切换到新的 dtype mapping 查询接口。 - 扩展 Cast 相关常量、性能注册和性能建模说明,补充 Cast 类型支持和公式建模约束。 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [x] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue - #189: https://gitcode.com/cann/graph-autofusion/issues/189 ## 如何测试 1. 测试cast不同场景分支的性能计算 ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已确认本次变更不涉及文档更新 - [x] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 See merge request: cann/graph-autofusion!1266 | 1 个月前 | |
graph-autofusion添加workflow | 1 个月前 | |
fix: 兼容Windows安装默认skills (#194) Co-authored-by: hamburgerbobo<1295829121@qq.com> # message auto-generated for no-merge-commit merge: !1369 merge fix/install-default-skills-windows-compat into develop fix: 兼容Windows安装默认skills (#194) Created-by: hamburgerbobo Commit-by: hamburgerbobo Merged-by: cann-robot Description: ## 描述 .opencode/plugins/install-default-skills.ts 在 opencode 启动时自动安装四个默认 skill(gitcode-pr、gitcode-issue、api-doc-generator、gitcode-pipeline)。原实现委托给 bash 脚本 .claude/skills/default-skills/scripts/install-default-skills.sh,在 Windows 上存在两层阻断: 1. **TS 层短路**:插件检测 bash --version,原生 Windows 无 bash 时直接 return,不执行任何安装。 2. **Shell 脚本依赖**:install-default-skills.sh 使用 ln -sfn(Windows 普通用户无符号链接权限)、/tmp、mktemp、timeout 等 Unix 专有依赖。 本 PR 用 Node.js 原生 API(fs/path/os/child_process)重写安装逻辑,移除 bash 硬依赖,使插件在 Linux 与 Windows 上均能自动安装默认 skills,且不破坏现有 Linux 行为。.sh 脚本保留不动,供 Claude Code 手动场景(Linux)使用。 ## 变更类型 - [ ] 🐛 Bug 修复 - [x] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue #194 ## 如何测试 **前提条件**:系统已安装 git 并在 PATH 中(Linux/Windows 均默认随 Git for Windows 提供)。 **Linux 验证(等价性)**: 1. 删除 .claude/skills/_remote/ 与四个 skill 一级目录链接 2. 启动 opencode,观察安装提示 3. 验证 _remote/<skill>/ 真实目录存在,一级目录为相对路径符号链接 -> _remote/<skill> 4. 二次启动,hash 无变化时不打印重启提示(幂等) 5. 断网启动,验证 .opencode_skills_error marker 与提示打印 **Windows 验证(新增能力)**: 1. 原生 Windows(无 bash)启动 opencode 2. 验证四个 skill 自动安装,一级目录为 junction(无需管理员权限) 3. 验证 _remote/<skill>/SKILL.md 可访问 **已执行验证**(Linux 环境): - TypeScript strict 模式类型检查通过 - fresh install:4 个 skill 以相对路径符号链接安装,SKILL.md 可访问 - 幂等性:二次运行无变更提示、无错误 marker - 错误路径:模拟 git clone 失败,正确写 .opencode_skills_error 并打印清晰提示 - .gitignore 幂等更新,无重复条目,保留尾换行 ## 核对清单 - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 **设计要点**: - 跨平台链接:Windows 用 junction(无需管理员权限,目录专用,target 用绝对路径);Unix 保持相对路径 symlink(与 .sh ln -sfn _remote/$skill 等价,仓库内可移植) - 临时目录:os.tmpdir() + fs.mkdtempSync 替代硬编码 /tmp,try/finally + fs.rmSync force:true 清理 - 网络探测合并到 git clone --depth 1(带 CLONE_TIMEOUT_MS 超时),去除 curl/wget 预检测,减少平台分支 - DEFAULT_SKILLS、REPO_URL、CLONE_TIMEOUT_MS 集中在文件顶部常量,与 .sh 保持一致 - 错误处理保留原有 .opencode_skills_error marker + 延迟打印逻辑,catch 块按 strict 模式类型安全处理 unknown error **红线自查**:不硬编码敏感信息(REPO_URL 为公开仓库地址);资源释放覆盖异常分支;仅改 TS 插件,不扩大修改范围。 **安全提示**:issue 创建过程中误建了测试 issue #193(已加评论标注,GitCode API 关闭端点有兼容问题未能关闭,请社区协助关闭)。 See merge request: cann/graph-autofusion!1369 | 1 个月前 | |
Merge remote-tracking branch 'origin/develop' into dev_test | 21 天前 | |
refactor: graph-autofusion支持依赖asc-devkit源码 Co-authored-by: Feiteng Zheng<zhengfeiteng1@h-partners.com> # message auto-generated for no-merge-commit merge: !1517 merge 20260727-support-find-asc-in-src into develop refactor: graph-autofusion支持依赖asc-devkit源码 Created-by: zhengfeiteng Commit-by: Feiteng Zheng Merged-by: cann-robot Description: # Pull Request ## 描述 graph-autofusion支持依赖asc-devkit源码。 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [x] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 描述测试此变更的步骤和前提条件: 1.对比修改前后graph-autofusion二进制 ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如: feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/graph-autofusion!1517 | 1 个月前 | |
【PR】: 修改文档表述,不再import inductor整个组件 Co-authored-by: @gcw_Xt6hqG9y<1634807286@qq.com> # message auto-generated for no-merge-commit merge: !1655 merge fix into develop 【PR】: 修改文档表述,不再import inductor整个组件 Created-by: gcw_Xt6hqG9y Commit-by: @gcw_Xt6hqG9y Merged-by: cann-robot Description: # Pull Request ## 描述 修改文档表述,不再import inductor整个组件。 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [x] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 描述测试此变更的步骤和前提条件: 1. 2. ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如: feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/graph-autofusion!1655 | 25 天前 | |
feat: 支持 IndirectLoad SIMD 多实现并修复精度问题 Co-authored-by: xiebangrui<xiebangrui@huawei.com> # message auto-generated for no-merge-commit merge: !1660 merge IL into develop feat: 支持 IndirectLoad SIMD 多实现并修复精度问题 Created-by: xiebangrui2025 Commit-by: xiebangrui Merged-by: cann-robot Description: ## 描述 支持 IndirectLoad SIMD 的 MicroAPI 和 GatherApi 多实现生成及运行时选择,并修复索引加载、流水同步和 UB 内存管理问题: 1. 增加 GatherApi 实现及 implementation 属性传递,根据模板和实现类型选择运行时候选,保留 MicroAPI 实现。 2. 修复 int32 索引跨 repeat 复用加载状态导致的偏移精度问题,同时保持 int64 连续加载路径。 3. 完善 SIMD offset 构造后的 PIPE_V 依赖、queue/临时缓冲区分配,以及 direct-GM SIMT 路径的生命周期处理。 4. 扩展 full-prefix、direct-index、混合前后融合、后融合 Reduce 和多数据类型场景,并收敛 CI 中的 IndirectLoad 验证集合。 ## 变更类型 - [x] 🐛 Bug 修复 - [x] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [x] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue 无。 ## 如何测试 1. IndirectLoad optimize UT:34/34 通过;codegen UT:8/8 通过。 2. IndirectLoad codegen ST:18/18 通过;模拟器 E2E:18/18 通过。 3. 对17个提交文件执行限定范围 pre-commit 和 OAT 检查,全部通过。 ## 核对清单 - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 本次变更不涉及对外接口文档更新 - [x] 我在标题中使用了合适的类型标签(如: feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 - PR 已整理为单个提交:f5681160。 - PR 源分支为 xiebangrui2025:IL,目标分支为 cann:develop。 See merge request: cann/graph-autofusion!1660 | 22 天前 | |
refactor: graph-autofusion支持依赖asc-devkit源码 Co-authored-by: Feiteng Zheng<zhengfeiteng1@h-partners.com> # message auto-generated for no-merge-commit merge: !1517 merge 20260727-support-find-asc-in-src into develop refactor: graph-autofusion支持依赖asc-devkit源码 Created-by: zhengfeiteng Commit-by: Feiteng Zheng Merged-by: cann-robot Description: # Pull Request ## 描述 graph-autofusion支持依赖asc-devkit源码。 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [x] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 描述测试此变更的步骤和前提条件: 1.对比修改前后graph-autofusion二进制 ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如: feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/graph-autofusion!1517 | 1 个月前 | |
chore: align format and pre-commit configs Co-authored-by: ling-DT<lingxing@huawei.com> # message auto-generated for no-merge-commit merge: !686 merge sync-ge-clang-format-develop into develop chore: align format and pre-commit configs Created-by: ling-DT Commit-by: ling-DT Merged-by: cann-robot Description: # Pull Request ## 描述 同步项目格式化与 pre-commit 配置: 1. 将 .clang-format 对齐到 cann/ge develop 分支配置,统一后续 C/C++ 代码格式化规则。 2. 将 .pre-commit-config.yaml 从 ops-nn 同步到当前仓,补充基础检查、clang-format v18.1.8、ruff、codespell 以及 OAT pre-commit 检查。 ## 变更类型 请选择本次引入的变更类型: - [ ] 🐛 Bug 修复 - [ ] ✨ 新功能 - [x] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [x] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue ## 如何测试 描述测试此变更的步骤和前提条件: 1. 检查 PR diff 仅包含 .clang-format 与 .pre-commit-config.yaml 配置同步。 2. 创建 PR 后评论 compile,观察编译流水线是否通过。 ## 核对清单 - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 本 PR 不涉及源码逻辑变更;当前分支提交已合并为单个 commit。 See merge request: cann/graph-autofusion!686 | 2 个月前 | |
【PR】: 更新安装方式 Co-authored-by: sophia1213<sophie.chen@huawei.com> # message auto-generated for no-merge-commit merge: !1244 merge develop into develop 【PR】: 更新安装方式 Created-by: sophia1213 Commit-by: sophia1213 Merged-by: cann-robot Description: # Pull Request ## 描述 更新CANN安装方式中的CANNLAB安装方式,包括更新图片以及安装步骤说明等 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [x] 📝 文档内容更新 ## 关联的Issue 无 ## 如何测试 描述测试此变更的步骤和前提条件: 1. 2. ## 核对清单 <!-- [x] 表示选中 --> - [ ] 我的代码遵循了项目的代码风格 - [ ] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [ ] 我在标题中使用了合适的类型标签(如: feat:, fix:) - [ ] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/graph-autofusion!1244 | 1 个月前 | |
!1301 merge develop into master 【PR】: sync develop to master 0715 Created-by: yangyongqiang0606 Commit-by: czways;cann-robot;wanghuajie;ZhaoBaiwei;shengnan666;xingzhixiong Merged-by: cann-robot Description: # Pull Request ## 描述 sync develop to master 0715 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 描述测试此变更的步骤和前提条件: 1. 2. ## 核对清单 <!-- [x] 表示选中 --> - [ ] 我的代码遵循了项目的代码风格 - [ ] 我已对代码进行了自测 - [ ] 我已更新了相关的文档 - [ ] 我在标题中使用了合适的类型标签(如: feat:, fix:) - [ ] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/graph-autofusion!1301 | 1 个月前 | |
【PR】:[fix] [autofuse] remove hccl related code which is unused. Co-authored-by: xingzhixiong<xingzhixiong@huawei.com> # message auto-generated for no-merge-commit merge: !1224 merge develop_rm_hccl into develop 【PR】:[fix] [autofuse] remove hccl related code which is unused. Created-by: xingzhixiong Commit-by: xingzhixiong Merged-by: cann-robot Description: # Pull Request ## 描述 删除graph-autofusion仓中hccl相关的代码,autofuse暂无需使用,先删除。 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [x] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 描述测试此变更的步骤和前提条件: 1. ci pipeline pass 2. rdv pass ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如: feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/graph-autofusion!1224 | 1 个月前 | |
docs: 补充项目规范指导(#95) Co-authored-by: Jett_Woo<wujinteng1@huawei.com> # message auto-generated for no-merge-commit merge: !732 merge feature/project-spec into develop docs: 补充项目规范指导(#95) Created-by: Jett_Woo Commit-by: Jett_Woo Merged-by: cann-robot Description: # Pull Request ## 描述 补充 Graph-autofusion 项目级 agent 指导和规范文档,并增强 af-code-reviewer skill 的代码检视流程。 主要变更: - 新增 AGENTS.md,说明项目结构、构建测试入口、设计文档要求、GitCode 流程和 agent 工作规范。 - 新增 docs/guidelines/cross_feature_check.md,提供 SuperKernel、Autofuse、构建交付、测试和性能场景的交叉影响检查表。 - 新增 docs/guidelines/design_document_template.md,提供 Graph-autofusion 设计文档模板。 - 新增 docs/guidelines/编码红线.md,补充安全、资源、ABI/API、图改写、runtime 生命周期和构建交付红线。 - 优化 .claude/skills/af-code-reviewer,要求代码检视前读取规范并输出固定格式检查结果。 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [x] 📝 文档内容更新 ## 关联的Issue Closes #95 Issue 地址:https://gitcode.com/cann/graph-autofusion/issues/95 ## 如何测试 描述测试此变更的步骤和前提条件: 1. 执行规范文件存在性和关键内容检查: test -f AGENTS.md && test -f docs/guidelines/design_document_template.md && test -f docs/guidelines/cross_feature_check.md && test -f docs/guidelines/编码红线.md && grep -q "af-code-reviewer" AGENTS.md && grep -q "af-build-runner" AGENTS.md && grep -q "af-test-developer" AGENTS.md && grep -q "编码红线" .claude/skills/af-code-reviewer/SKILL.md && grep -q "跨特性交叉影响" .claude/skills/af-code-reviewer/SKILL.md && grep -q "代码检视检查结果" .claude/skills/af-code-reviewer/SKILL.md && grep -q "SuperKernel" docs/guidelines/cross_feature_check.md && grep -q "Autofuse" docs/guidelines/cross_feature_check.md 2. 检查 PR diff 范围: git diff --stat upstream/develop...HEAD ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 本次仅补充项目规范、agent 指导和 skill 文档,不涉及源码、构建脚本或测试代码变更。 See merge request: cann/graph-autofusion!732 | 2 个月前 | |
fix: 修正版权声明中"contiditions"拼写错误应为"conditions" Co-authored-by: gcw_NLOuEjCz<1309002649@qq.com> # message auto-generated for no-merge-commit merge: !1374 merge dev_test into develop fix: 修正版权声明中"contiditions"拼写错误应为"conditions" Created-by: gcw_NLOuEjCz Commit-by: gcw_NLOuEjCz Merged-by: cann-robot Description: # Pull Request ## 描述 批量修正 5 个文件中 CANN 许可证头里的拼写错误: contiditions → conditions。 纯注释修正,不涉及任何代码逻辑变更。 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [x] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue [#136](https://gitcode.com/cann/graph-autofusion/issues/136) 仅修改了5处,合并后关闭已关联的 Issue ## 如何测试 描述测试此变更的步骤和前提条件: 1. 全局搜索 contiditions,确认修改的5个文件无残留 2. 确认修改文件仅涉及版权声明注释行 ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [ ] 我已对代码进行了自测 - [ ] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [ ] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 纯文本拼写修正,无功能影响。 See merge request: cann/graph-autofusion!1374 | 1 个月前 | |
【PR】: 在 contributing 中提醒开发者通过 pre-commit 做代码格式化,避免流水线报错 Co-authored-by: 盛楠<titan.sheng@huawei.com> # message auto-generated for no-merge-commit merge: !1367 merge f_contributing into develop 【PR】: 在 contributing 中提醒开发者通过 pre-commit 做代码格式化,避免流水线报错 Created-by: shengnan666 Commit-by: 盛楠 Merged-by: cann-robot Description: # Pull Request ## 描述 在 contributing 中提醒开发者通过 pre-commit 做代码格式化,避免流水线报错 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [x] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 描述测试此变更的步骤和前提条件: 1. 2. ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如: feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/graph-autofusion!1367 | 1 个月前 | |
【PR】: 在 contributing 中提醒开发者通过 pre-commit 做代码格式化,避免流水线报错 Co-authored-by: 盛楠<titan.sheng@huawei.com> # message auto-generated for no-merge-commit merge: !1367 merge f_contributing into develop 【PR】: 在 contributing 中提醒开发者通过 pre-commit 做代码格式化,避免流水线报错 Created-by: shengnan666 Commit-by: 盛楠 Merged-by: cann-robot Description: # Pull Request ## 描述 在 contributing 中提醒开发者通过 pre-commit 做代码格式化,避免流水线报错 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [x] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 描述测试此变更的步骤和前提条件: 1. 2. ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如: feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/graph-autofusion!1367 | 1 个月前 | |
graph-autofusion is ready now! | 9 个月前 | |
fix: 修正版权声明中"contiditions"拼写错误应为"conditions" Co-authored-by: gcw_NLOuEjCz<1309002649@qq.com> # message auto-generated for no-merge-commit merge: !1374 merge dev_test into develop fix: 修正版权声明中"contiditions"拼写错误应为"conditions" Created-by: gcw_NLOuEjCz Commit-by: gcw_NLOuEjCz Merged-by: cann-robot Description: # Pull Request ## 描述 批量修正 5 个文件中 CANN 许可证头里的拼写错误: contiditions → conditions。 纯注释修正,不涉及任何代码逻辑变更。 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [x] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue [#136](https://gitcode.com/cann/graph-autofusion/issues/136) 仅修改了5处,合并后关闭已关联的 Issue ## 如何测试 描述测试此变更的步骤和前提条件: 1. 全局搜索 contiditions,确认修改的5个文件无残留 2. 确认修改文件仅涉及版权声明注释行 ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [ ] 我已对代码进行了自测 - [ ] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [ ] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 纯文本拼写修正,无功能影响。 See merge request: cann/graph-autofusion!1374 | 1 个月前 | |
fix(docs): 修复文档质量问题 - 代码块语言标记与拼写错误 Co-authored-by: tmj1128<tanmengjie2@huawei.com> # message auto-generated for no-merge-commit merge: !877 merge fix/docs-quality-improvements into develop fix(docs): 修复文档质量问题 - 代码块语言标记与拼写错误 Created-by: tmj1128 Commit-by: tmj1128 Merged-by: cann-robot Description: ## 修复内容 ### 拼写错误修复 - superkernel_compare.py:280: "execute samples success" → "execute sample success"(与 README 文档描述不一致) ### 代码块语言标记 - 为 25 个 Markdown 文件中 49 个代码块补充语言标记: - 目录树结构代码块标记为 text - Shell 命令代码块标记为 bash - Python 代码块标记为 python - 输出文本代码块标记为 text 覆盖 zh/en 双语言文档,确保代码高亮正确生效。 关联演练报告问题 #8 (文档拼写) 和 #4 (代码块语言标记) See merge request: cann/graph-autofusion!877 | 2 个月前 | |
fix(docs): 修复文档质量问题 - 代码块语言标记与拼写错误 Co-authored-by: tmj1128<tanmengjie2@huawei.com> # message auto-generated for no-merge-commit merge: !877 merge fix/docs-quality-improvements into develop fix(docs): 修复文档质量问题 - 代码块语言标记与拼写错误 Created-by: tmj1128 Commit-by: tmj1128 Merged-by: cann-robot Description: ## 修复内容 ### 拼写错误修复 - superkernel_compare.py:280: "execute samples success" → "execute sample success"(与 README 文档描述不一致) ### 代码块语言标记 - 为 25 个 Markdown 文件中 49 个代码块补充语言标记: - 目录树结构代码块标记为 text - Shell 命令代码块标记为 bash - Python 代码块标记为 python - 输出文本代码块标记为 text 覆盖 zh/en 双语言文档,确保代码高亮正确生效。 关联演练报告问题 #8 (文档拼写) 和 #4 (代码块语言标记) See merge request: cann/graph-autofusion!877 | 2 个月前 | |
graph-autofusion is ready now! | 9 个月前 | |
docs: 文档国际化改造,支持中英文双语 | 3 个月前 | |
新增安全合规检测文件 Co-authored-by: 叶龙剑<yelongjian1@huawei.com> # message auto-generated for no-merge-commit merge: !55 merge master-3rd0129 into master 新增安全合规检测文件 Created-by: yelongjian Commit-by: 叶龙剑 Merged-by: cann-robot Description: # Pull Request ## 描述 新增安全合规检测文件,用于合规使用并管控三方件。 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [x] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 描述测试此变更的步骤和前提条件: 1.NA ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如: feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/graph-autofusion!55 | 6 个月前 | |
fix: 修正版权声明中"contiditions"拼写错误应为"conditions" Co-authored-by: gcw_NLOuEjCz<1309002649@qq.com> # message auto-generated for no-merge-commit merge: !1374 merge dev_test into develop fix: 修正版权声明中"contiditions"拼写错误应为"conditions" Created-by: gcw_NLOuEjCz Commit-by: gcw_NLOuEjCz Merged-by: cann-robot Description: # Pull Request ## 描述 批量修正 5 个文件中 CANN 许可证头里的拼写错误: contiditions → conditions。 纯注释修正,不涉及任何代码逻辑变更。 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [x] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue [#136](https://gitcode.com/cann/graph-autofusion/issues/136) 仅修改了5处,合并后关闭已关联的 Issue ## 如何测试 描述测试此变更的步骤和前提条件: 1. 全局搜索 contiditions,确认修改的5个文件无残留 2. 确认修改文件仅涉及版权声明注释行 ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [ ] 我已对代码进行了自测 - [ ] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [ ] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 纯文本拼写修正,无功能影响。 See merge request: cann/graph-autofusion!1374 | 1 个月前 | |
chore: update classify unrelease rules Co-authored-by: 凌星<lingxing@huawei.com> # message auto-generated for no-merge-commit merge: !1535 merge chore/classify-autofuse-unrelease into develop chore: update classify unrelease rules Created-by: ling-DT Commit-by: 凌星 Merged-by: cann-robot Description: # Pull Request ## 描述 将 autofuse 加入 classify_rule.yaml 的 release 分类,并将 autofuse/graph_metadef、autofuse/examples 加入 unrelease 分类。 ## 变更类型 - [ ] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [x] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue 无。 ## 如何测试 描述测试此变更的步骤和前提条件: 1. python3 -c "import yaml; yaml.safe_load(open('classify_rule.yaml', encoding='utf-8'))" 2. git diff --check ## 核对清单 - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 本 PR 只包含 classify_rule.yaml 三行分类规则新增。 See merge request: cann/graph-autofusion!1535 | 1 个月前 | |
chore: update graph-autofusion version to 9.2.0 Co-authored-by: 凌星<lingxing@huawei.com> # message auto-generated for no-merge-commit merge: !1558 merge chore/update-gaf-version-9.2.0 into develop chore: update graph-autofusion version to 9.2.0 Created-by: ling-DT Commit-by: 凌星 Merged-by: cann-robot Description: # Pull Request ## 描述 参考 cann/ge PR 4199,将 Graph-Autofusion 版本更新到 9.2.0,并同步更新 asc-devkit、runtime、metadef 构建依赖版本要求到 >=9.2。 ## 变更类型 - [ ] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [x] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue 无。 ## 如何测试 描述测试此变更的步骤和前提条件: 1. git diff --check ## 核对清单 - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 对应 GE 版本更新 PR:https://gitcode.com/cann/ge/pull/4199 See merge request: cann/graph-autofusion!1558 | 1 个月前 |
Graph-autofusion
🔥Latest News
- [2026/04] Autofuse 组件开源! 在昇腾芯片上提供 Autofuse 自动融合功能,可以自动将相邻算子融合为1个,消除输入输出的搬运耗时,降低算子数量,优化算子总时长。
- [2025/10] Graph-autofusion 项目开源! 在昇腾芯片上提供 SuperKernel 融合功能,可以减少任务调度等待时间和调度开销,优化算子执行头开销。
🚀概述
Graph-autofusion 是一个面向昇腾(Ascend)芯片的轻量级、解耦式组件集合,旨在通过各种融合相关技术,加速模型执行。 目前已开源 SuperKernel 组件和 Autofuse 组件,未来将持续开放更多融合相关模块。
组件特点:
- 专注融合加速技术:基于 codegen 的 JIT 编译机制实现高效融合与加速。
- 模块化与解耦:各组件之间独立,可按需选用;底层依赖极少,仅依赖 AscendC 与 runtime 环境。
⚡️快速入门
- 若您想体验 Graph-autofusion 的完整构建、测试与样例运行流程,请参考:构建验证
- 若您希望了解 SuperKernel 组件的原理与使用,请参考: SuperKernel 简介。
- 若您希望了解 Autofuse 组件的原理与使用,请参考: Autofuse 简介与快速上手。
🔍目录结构
├── autofuse # Autofuse 组件,Autofuse 源代码、测试、文档均在该子目录中
├── build.sh # 一键式项目工程编译脚本
├── cmake # 项目工程编译目录
├── CMakeLists.txt # 项目 CMakeLists
├── docs # 项目整体文档
│ ├── zh # 中文文档
│ │ ├── build.md # 一键式构建脚本文档
│ │ └── ... # 其他中文文档
│ ├── en # 英文文档
│ │ ├── build.md # 一键式构建脚本文档
│ │ └── ... # 其他英文文档
├── super_kernel # SuperKernel 组件,SuperKernel 源代码、测试、文档均在该子目录中
├── ... # 未来规划的组件
├── README.md # graph-autofusion项目整体功能介绍
├── scripts # 脚本路径
└── package