Graph-autofusion 是一个面向昇腾(Ascend)芯片的轻量级、解耦式组件集合,旨在通过自动融合技术加速模型执行。 目前已开源 SuperKernel 组件,未来将持续开放更多自动融合相关模块。
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
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 | 3 个月前 | |
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 个月前 | |
【PR】: 自动融合atc离线编译缺陷修改,交叉编译支持 Co-authored-by: chengyutao3<chengyutao3@huawei.com> # message auto-generated for no-merge-commit merge: !1100 merge develop into develop 【PR】: 自动融合atc离线编译缺陷修改,交叉编译支持 Created-by: chengyutao3 Commit-by: chengyutao3 Merged-by: cann-robot Description: # Pull Request ## 描述 本次 PR 为 autofuse 编译流程新增了离线交叉编译(cross compile)支持,允许在不同于目标设备的宿主架构上完成编译和 tiling 数据生成。 主要变更包括: - 引入 CrossCompileInfo、HostCompileContext、ShapeCompileContext 等 namedtuple,统一封装编译上下文参数 - 新增交叉编译判断及工具函数:is_cross_compile()、get_cross_compiler_prefix()、get_target_machine()、compile_native_host_so()、get_native_host_so_path()、_clean_cmake_cache() - 重构 generate_cmake_lists 和 ascbc_host_compile,参数从多个独立参数改为接收上下文对象和可选 CrossCompileInfo;交叉编译时使用 devlib/{target_machine}/ 链接目录及交叉编译器前缀(如 aarch64-linux-gnu-gcc) - modify_json_file 支持交叉编译场景:加载 _native 目录下的 native host so 用于 ctypes 调用获取 tiling 数据 - static_shape_compile、dynamic_shape_compile、static_shape_cv_compile、static_shape_cv_common_compile 等函数均新增 cross_info 参数,交叉编译时额外编译一份 native host so 用于本机 tiling 计算 - asc_graph_compile 入口从 params 中提取 host_env_os / host_env_cpu,计算交叉编译标志并传递至各编译函数 - compute_graph_compile 将 host_env_os / host_env_cpu 传入 asc_param - 同步更新相关单元测试以适配新的参数格式 ## 变更类型 请选择本次引入的变更类型: - [ ] 🐛 Bug 修复 - [x] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [x] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的 Issue ## 如何测试 描述测试此变更的步骤和前提条件: 1. 在 x86_64 宿主机上设置 host_env_os=linux、host_env_cpu=aarch64,执行 autofuse 编译流程,验证交叉编译器(aarch64-linux-gnu-gcc/g++)被正确调用,且 native host so 能在本机正常加载用于 tiling 计算 2. 不设置交叉编译参数(host_env_os/host_env_cpu 为空),执行原有编译流程,验证行为与变更前一致(回归测试) 3. 运行 test_asc_codegen_compile_conv2d.py 和 test_replace_kernel.py 单元测试,验证新增参数格式适配正确 ## 核对清单 - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 本次变更涉及 autofuse/compiler/python/asc_codegen_compile.py(核心编译逻辑)、autofuse/tests/ut/python/test_asc_codegen_compile_conv2d.py 及 test_replace_kernel.py(测试适配),共计 3 个文件,230 行新增,90 行删除。 See merge request: cann/graph-autofusion!1100 | 2 个月前 | |
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 个月前 | |
【PR】: [fix] [autofuse] improve usability of gaf. Co-authored-by: xingzhixiong<xingzhixiong@huawei.com> # message auto-generated for no-merge-commit merge: !581 merge develop_usability_test into develop 【PR】: [fix] [autofuse] improve usability of gaf. Created-by: xingzhixiong Commit-by: xingzhixiong Merged-by: cann-robot Description: # Pull Request ## 描述 修复gaf仓docs问题以及llt运行时找不到库的问题,提升易用性。 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [x] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [x] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 描述测试此变更的步骤和前提条件: 1. 按readme中的指导编译执行llt通过 2. 测试代码仓的中英文描述无误 ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如: feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/graph-autofusion!581 | 2 个月前 | |
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 个月前 | |
fix codecheck | 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 | 3 个月前 | |
【feat】: Dump json file to retrieve graph information from modelRI, Update fusion failure reason log file Co-authored-by: Achilles_d<duanchengyuan@huawei.com> # message auto-generated for no-merge-commit merge: !300 merge fix-rea into master 【feat】: Dump json file to retrieve graph information from modelRI, Update fusion failure reason log file Created-by: Achilles_d Commit-by: Achilles_d Merged-by: cann-robot Description: # Pull Request ## 描述 1. 新增:dump origin graph from graph 2. 新增:dump fused graph from graph 3. 新增:dump origin graph from modelRI 4. 新增:dump fused graph from modelRI 5. 新增:dump taskqueue of aic and aiv 6. 更新:修改算子二进制文件名为{func name}_{addr} 7. 更新:融合失败原因修改为:打印不可融kernel及其原因、打印scope断开原因 8. 修复:关闭kernel meta选项后,对应sk_meta文件不生成 ## 变更类型 请选择本次引入的变更类型: <!-- [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!300 | 4 个月前 | |
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 | 3 个月前 | |
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 | 3 个月前 | |
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 | 3 个月前 | |
【PR】: CONTRIBUTED 文档修复, Requirement instead Feature-Request Co-authored-by: zhanjun<zhanjun6@hisilicon.com> # message auto-generated for no-merge-commit merge: !7 merge master into master 【PR】: CONTRIBUTED 文档修复, Requirement instead Feature-Request Created-by: zhanj Commit-by: zhanjun Merged-by: turing_project1 Description: # Pull Request ## 描述 请清晰准确地描述本次 Pull Request 的意图和变更内容。 CONTRIBUTED 文档修复, Requirement instead Feature-Request ## 变更类型 请选择本次引入的变更类型: <!-- [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!7 | 10 个月前 | |
docs: 文档国际化改造,支持中英文双语 | 3 个月前 | |
graph-autofusion is ready now! | 10 个月前 | |
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 | 5 个月前 | |
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 | 3 个月前 | |
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 | 3 个月前 | |
graph-autofusion is ready now! | 10 个月前 | |
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 | 7 个月前 | |
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 | 4 个月前 | |
!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