Graph-autofusion 是一个面向昇腾(Ascend)芯片的轻量级、解耦式组件集合,旨在通过自动融合技术加速模型执行。 目前已开源 SuperKernel 组件,未来将持续开放更多自动融合相关模块。
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
docs:add skill for reg ascir Co-authored-by: w00800187<wangmingming39@huawei.com> # message auto-generated for no-merge-commit merge: !1281 merge wmm_add_skill into develop docs:add skill for reg ascir Created-by: gcw_WTfSfUy7 Commit-by: w00800187 Merged-by: cann-robot Description: # Pull Request ## 描述 新增 af-reg-ascir Skill,为 graph-autofusion 项目提供 ASCIR 算子注册、修改、dtype 扩展、tmp buffer 注册及配套 UT/ST/E2E 测试的辅助指引,并覆盖 regbase 构建注册、ATT、Codegen、Python 暴露、性能模型、打包和上板故障诊断的完整修改面。 Skill 覆盖的核心能力: - 指导新增或修改 ASCIR 算子注册流程(REG_ASC_IR、ATT/Codegen 实现类、注册表)。 - 辅助维护 V35/V2 ASCIR 注册、ATT、Codegen 和性能模型。 - 指导 dtype 扩展、类型转换(GetConversionDtype)和 tmp buffer 注册(CalcTmpBufSize/CalcXxxTmpSizeV2)。 - 每个新增 ASCIR 默认考虑并补充 backend E2E;更新 ASCIR 时强制审计现有 E2E 是否需同步修改。 - 参考 BesselJ0 V2 给出 share graph、backend generator、ICPU 运行与精度验证、CMake 和统一测试入口的完整结构。 - 按完整矩阵检查 regbase 构建/注册、ATT、Codegen、Python ops/IR Attr、perf、UT、share graph、backend E2E、脚本与打包。 - 识别 regbase 内部 include、官方 AscendC API 头缺失、Device 编译选项、旧包加载等上板故障。 - 根据输入输出、模板属性、多输出和 dtype 变化给出最小修改方案。 变更文件: - 新增 .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)。 ## 变更类型 - [ ] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [x] 📝 文档内容更新 ## 关联的Issue 关联 issue:#183 Issue 链接:https://gitcode.com/cann/graph-autofusion/issues/183 ## 如何测试 1. 在 opencode 中加载本 Skill,输入“帮我新增一个 ASCIR 算子注册”,确认 Skill 正确触发并按流程给出方案。 2. 输入“给 ASCIR 算子增加一个 dtype 支持”“这个 ASCIR 算子需要注册 tmp buffer 吗?”“修改 ASCIR API 名称需要同步改哪些地方?”验证触发场景。 3. 静态检索 README/SKILL.md 中关键路径(ascir_builtin_ops_v2.cpp、v2_ascir_codegen_impl.h、share_graph、run_autofuse_test.sh)与仓库实际结构一致。 ## 核对清单 - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 本 Skill 沉淀了 ASCIR adapter 适配过程中(issue #180 / PR #1257)积累的注册、regbase、Codegen、Python 暴露和上板故障经验,用于规范后续 ASCIR 新增/修改流程,减少遗漏。 See merge request: cann/graph-autofusion!1281 | 1 个月前 | |
docs: 文档国际化改造,支持中英文双语 | 3 个月前 | |
feat: add opencode skill management and 5 project-specific skills - Establish three-layer skill architecture (local + remote + plugin) - Add 5 local skills: cann-toolkit-installer, default-skills, af-build-runner, af-test-developer, af-code-reviewer - Add skill management documentation (docs/zh/opencode-skill-management.md) - Add .claude/skills/.gitignore with whitelist mode to prevent accidental skill commits - Add open-source contributor skill contribution guide - Optimize skills based on test results (3204 tests passed) Closes cann/graph-autofusion#59 | 3 个月前 | |
llt | 10 天前 | |
fix: 修复path.cfg不正交问题 Co-authored-by: zqmin<zengqingmin2@huawei.com> # message auto-generated for no-merge-commit merge: !1128 merge fix_path_cfg into develop fix: 修复path.cfg不正交问题 Created-by: zqmin Commit-by: zqmin Merged-by: cann-robot Description: # Pull Request ## 描述 解决path.cfg不正交的问题,影响deb/rpm包的安装。 ## 变更类型 - [x] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue fixes #151 ## 如何测试 1. 触发 GitCode 流水线验证。 ## 核对清单 - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如: fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 影响deb/rpm包的安装路径配置。 See merge request: cann/graph-autofusion!1128 | 2 个月前 | |
docs: 删除构建文档中已废弃的--autofuse装包选项(#184) Co-authored-by: hamburgerbobo<1295829121@qq.com> # message auto-generated for no-merge-commit merge: !1284 merge fix/issue-184-remove-deprecated-autofuse-option into develop docs: 删除构建文档中已废弃的--autofuse装包选项(#184) Created-by: hamburgerbobo Commit-by: hamburgerbobo Merged-by: cann-robot Description: ## 描述 根据 Issue #184 反馈,构建指导文档中提到的 --autofuse 装包选项已经废弃(run 包安装脚本中已移除该选项),需要从文档中删除。 本次 PR 从中英文构建文档的安装选项列表中移除已废弃的 --autofuse 选项描述。 ## 变更类型 - [x] 📝 文档内容更新 ## 关联的Issue #184 ## 如何测试 1. 检查 docs/zh/build.md 安装选项部分,确认 --autofuse 已删除 2. 检查 docs/en/build.md 安装选项部分,确认 --autofuse 已删除 3. 验证 scripts/package/ 安装脚本中无 --autofuse 选项处理逻辑,确认选项确已废弃 ## 核对清单 - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 See merge request: cann/graph-autofusion!1284 | 1 个月前 | |
【PR】: [fix] [autofuse] bugfix of py module test. Co-authored-by: xingzhixiong<xingzhixiong@huawei.com> # message auto-generated for no-merge-commit merge: !1364 merge develop_change_same_name_headers into develop 【PR】: [fix] [autofuse] bugfix of py module test. Created-by: xingzhixiong Commit-by: xingzhixiong Merged-by: cann-robot Description: # Pull Request ## 描述 修复python test用例执行时覆盖原有LD_LIBRARY_PATH环境变量的问题。 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [x] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 描述测试此变更的步骤和前提条件: 1. llt pass ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如: feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/graph-autofusion!1364 | 1 个月前 | |
superkernel add -Wno-error=deprecated-declarations compile options | 2 个月前 | |
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 个月前 | |
【feat】: 新增hypot API Co-authored-by: wanghuajie<wanghuajie1@huawei.com> # message auto-generated for no-merge-commit merge: !1253 merge develop_hypot into develop 【feat】: 新增hypot API Created-by: wanghuajie Commit-by: wanghuajie Merged-by: cann-robot Description: # Pull Request ## 描述 新增高阶API接口hypot  ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [x] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 描述测试此变更的步骤和前提条件: 1. UT测试通过 2. 冒烟测试通过 ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如: feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/graph-autofusion!1253 | 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 个月前 | |
feat:新增autofuse_headers Co-authored-by: 叶龙剑<yelongjian1@huawei.com> # message auto-generated for no-merge-commit merge: !622 merge dev-header0603 into develop feat:新增autofuse_headers Created-by: yelongjian Commit-by: 叶龙剑 Merged-by: cann-robot Description: # Pull Request ## 描述 新增对外autofuse_headers ## 变更类型 请选择本次引入的变更类型: <!-- [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!622 | 2 个月前 | |
【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 个月前 | |
feat: 新增镜像支持 Co-authored-by: 叶龙剑<yelongjian1@huawei.com> # message auto-generated for no-merge-commit merge: !242 merge master-image0409 into master feat: 新增镜像支持 Created-by: yelongjian Commit-by: 叶龙剑 Merged-by: cann-robot Description: # Pull Request ## 描述 新增镜像支持。 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [x] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 描述测试此变更的步骤和前提条件: 1.根据新增的readme指导,使用镜像进行开发 ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如: feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/graph-autofusion!242 | 4 个月前 | |
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 个月前 | |
feat: 支持rpm和deb包构建 Co-authored-by: zqmin<zengqingmin2@huawei.com> # message auto-generated for no-merge-commit merge: !806 merge feat/support-package-type into develop feat: 支持rpm和deb包构建 Created-by: zqmin Commit-by: zqmin Merged-by: cann-robot Description: # Pull Request ## 描述 对齐 MetaDef 的 rpm/deb 包构建入口,并补齐 graph-autofusion 在 rpm/deb 交付形态下的 Python 包安装、卸载和权限收口逻辑: - build.sh 增加 --pkg-type=<run|rpm|deb>,默认 run。 - 将 PACKAGE_TYPE 传入 CMake 配置,set_cann_cpack_config 增加 PACKAGE_TYPE 参数。 - 新增 graph-autofusion rpm/deb hook,安装后处理 superkernel-*.whl,卸载前清理 superkernel 残留。 - rpm/deb 安装 superkernel whl 时安装到 ${INSTALL_PATH}/python/site-packages,对齐 CANN 安装目录内 Python 包布局。 - rpm/deb 安装后生成 python/site-packages/autofuse/__pycache__,并按 run 包最终权限逻辑收口。 - rpm/deb 安装后按 run 包逻辑收口 superkernel、superkernel-*.dist-info、LICENSE 和 *-linux/lib64 权限,保证同用户或同 sudo/root 安装时权限一致。 - rpm/deb 卸载前清理 superkernel、superkernel-*.dist-info 和 autofuse/__pycache__,并修复 prerm 在 set -e 场景下因目录不存在返回非 0 的问题。 - 更新 deb/rpm 相关 XML 权限配置,使 deb 安装出来的 scene.info、version.info、python/site-packages/autofuse 等权限符合安装后结果要求。 - 修正新增 rpm/deb hook 脚本许可证头,使其符合 OAT.xml 中的 CANN License 文本。 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [x] 🐛 Bug 修复 - [x] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [x] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue 关联 #108 ## 如何测试 描述测试此变更的步骤和前提条件: 1. bash build.sh --help 2. bash build.sh --pkg --pkg-type=tar --no-autofuse -j 1 3. bash -n scripts/package/graph_autofusion/rpm_deb/custom_postinst.sh && bash -n scripts/package/graph_autofusion/rpm_deb/custom_prerm.sh 4. 使用 fake python3/pip3 和临时安装目录验证 postinst 行为:autofuse/__pycache__ 目录/文件权限、superkernel/dist-info/LICENSE 权限、*-linux/lib64 目录权限与 run 包 root/sudo 场景一致。 5. 使用临时安装目录验证普通用户场景权限:python 目录 750、autofuse/__pycache__ 文件 550、superkernel 目录/文件 550、LICENSE 440、*-linux/lib64 550。 6. 验证 custom_prerm.sh 在 autofuse/__pycache__ 不存在时仍返回 0,避免生成的 DEBIAN/prerm 顶部 set -e 导致 dpkg 安装失败。 7. 已触发 PR 流水线,最新已通过 ci-pipeline-passed label 校验;后续权限修复提交需继续触发 compile 流水线。 ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 rpm/deb 产包能力依赖统一 CANN CMake/发布流水线侧支持。本 PR 侧完成 graph-autofusion 的打包入口参数透传、rpm/deb 安装卸载 hook、Python 包安装路径、动态产物权限收口和 run/deb 安装结果对齐。 See merge request: cann/graph-autofusion!806 | 2 个月前 | |
add l Co-authored-by: JaydenChu<zhumin54@huawei.com> Co-authored-by: xingzhixiong<xingzhixiong@huawei.com> # message auto-generated for no-merge-commit merge: !370 merge 5_11_1 into master 【PR】: 同步GE仓最新修改到AF仓(4.14上午11时~5.15晚,总计129个PR需要同步) Created-by: JaydenChu Commit-by: JaydenChu;xingzhixiong Merged-by: cann-robot Description: # Pull Request ## 描述 同步GE仓最新修改到AF仓(4.14上午11时~5.15晚,总计129个PR需要同步) 所有涉及PR(包含检查过不需要同步的)从编号#1904(4.14 https://gitcode.com/cann/ge/pull/1904)到#2904(5.15 http://gitcode.com/cann/ge/pull/1904) 每个实际已同步pr都对应此pr的一个commit(部分同步pr为了方便同步合并到了一个commit中) ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [x] 🐛 Bug 修复 - [x] ✨ 新功能 - [x] 💄 代码风格更新(格式化,局部变量) - [x] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [x] 📦 构建过程或辅助工具的变动 - [x] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 描述测试此变更的步骤和前提条件: 1. 业务代码和llt编译通过 2. llt执行通过 3. 全量rdv验证通过 ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如: feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/graph-autofusion!370 | 3 个月前 | |
!392 merge support_Q2_building_optimization into master 【chore】: 支持Q2工程优化 Created-by: zhuhaoran5 Commit-by: zhuhaoran5 Merged-by: cann-robot Description: # Pull Request ## 描述 【chore】支持Q2工程优化: 1. 新识别到的一些cann依赖项切cmake工程仓 2. 移除新识别到的通过'include_directories' or 'link_directories'追加的cann包搜索路径 3. 其他一些兼容黄区全量联编的修改 4. 公共编译选项切换到cmake工程仓 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [x] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 描述测试此变更的步骤和前提条件: 1. 按照 README 部署构建环境 2. 执行所有构建场景的脚本命令,能执行成功并且产物包内容与先前一致 ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [ ] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如: feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/graph-autofusion!392 | 3 个月前 |
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