Graph-autofusion 是一个面向昇腾(Ascend)芯片的轻量级、解耦式组件集合,旨在通过自动融合技术加速模型执行。 目前已开源 SuperKernel 组件,未来将持续开放更多自动融合相关模块。
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
feat: af-reg-ascir skill 新增 vector bound 与外抛 for 循环ATT建模检查 Co-authored-by: zhang_shengjie<804425610@qq.com> # message auto-generated for no-merge-commit merge: !1841 merge feat/ascir-reg-perf-baseline-skill into develop feat: af-reg-ascir skill 新增 vector bound 与外抛 for 循环ATT建模检查 Created-by: zhang_shengjie Commit-by: zhang_shengjie Merged-by: cann-robot Description: # Pull Request ## 描述 为 af-reg-ascir skill 新增 **ASCIR reg API 性能基线校验** 流程。注册/更新一个 ASCIR reg API 后,按「外抛先行、vector bound 兜底」的分支流程判断性能问题,使性能基线结论成为 ASCIR 注册交付的标准一环。 ### skill 执行流程 1. **触发识别**:识别到新增/更新 ASCIR reg API,或用户要求做 vector bound / 外抛 for 循环 性能校验时进入本流程。 2. **接口事实与修改面**:按完整修改面检查矩阵确认注册、ATT、Codegen、tmp buffer、Python、UT/ST/E2E 的必改文件。 3. **第一道门 — 校验一:外抛 for 循环(静态 codegen 分析,无需上板)** - 适用对象:对轴数有上限的 ASCIR(IsNan/IsFinite/IsInf、Load/Store/NDDMA、Transpose、Cast、Compare、Where,以及被融合进 VectorFunc 的 elewise)。 - 阈值与外抛点:vec_func_call.cpp 的 kVFMaxLoop=4、reg_api_call_utils.cpp 的 kFourAxisNum=4,超过则 CreateOuterForVFCall/GenOuterLoopAxesPreProcess 生成 outer_for_*。 - 判定:构造 ≥5 维用例跑 Codegen 检索 outer_for_,出现即外抛 → 性能问题成立。 - 识别方法:静态检索 CreateComputeNodeOuterFor/CreateOuterForVFCall/outer_loop_axes 写入 → 回溯 ApiCallName → 按 GetApiCallName() 映射 ASCIR,并附基线表(以源码实际检索为准)。 4. **分支决策** - **外抛命中** → 性能问题成立,**跳过 vector bound 校验**(外抛大概率同时导致 vector bound,重复 profiling 无增量),直接进入「强制 ATT 性能建模」:触发 af-perf-modeler,perf 公式把最外侧维度纳入循环次数(对齐 ascir_api_perf_v2.cpp 的 LoadApi/NddmaApi 注释「外抛for循环:最外侧4个维度丢到循环次数里面去」)。 - **外抛未命中** → 进入校验二。 5. **校验二:vector bound(profiling 统计,仅当外抛未命中时执行)** - 复用 autofuse/tests/st/device_validation/ 的 InProcessProfiler/msprof 采集单算子 kernel。 - 从 op_summary*.csv 提取 aiv_vec_ratio/aiv_mte2_ratio/aiv_mte3_ratio(当前解析器未提取 per-pipe 占比,必须直接读 CSV,列名以实际导出为准)。 - 判定:AIV_VECTOR > AIV_MTE2 且 > AIV_MTE3 命中即 vector bound → 性能问题;并与 base_types.h 的 enum class PipeType、pipe_res[PipeType::AIV_VEC] 对照,偏离则按 af-perf-modeler 复核。 6. **基础用例构造**:复用 share graph Data → Load → Op → Store → Output;外抛判定用高维(≥5),vector bound 用低维(≤4)+ 全部注册 dtype(.DataTypes()/.Impl(),含 cast 源/目标)+ 对齐/非对齐/较大/小块边界 shape;参考值独立构造。 7. **无上板环境处理(仅当外抛未命中 + 需 vector bound 兜底)**:必须先给用户明确告警(性能结论暂为「未知」,不代表无性能问题),并为用户交付:典型用例清单(dtype+shape)、上板执行方法(msprof --output --application,容器不可用时用进程内 ACL profiling 兜底,msprof --export 导出 op_summary)、vector bound 识别方法(读 op_summary 三列占比比较)。 8. **输出结论**:固定给出 外抛 for 循环 / 校验路径 / vector bound(含「未知」)/ ATT 性能建模 / 性能问题 五项结论与证据。 所有定位统一使用稳定符号名(enum class PipeType、CreateOuterForVFCall、GenOuterLoopAxesPreProcess、kVFMaxLoop、kFourAxisNum、LoadApi/NddmaApi),不依赖行号。 ## 变更类型 - [ ] 🐛 Bug 修复 - [x] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [x] 📝 文档内容更新 ## 关联的Issue 无 ## 如何测试 1. 本变更仅涉及 .claude/skills/af-reg-ascir/SKILL.md 一处文档,无代码逻辑变更。 2. 触发编译流水线确认不影响构建。 3. 后续可按 skill 流程构造单算子用例上板 profiling,验证外抛先行 / vector bound 兜底 / 无上板交付 三个分支的可用性。 ## 核对清单 - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 本 PR 含多个提交: - 093513b8:新增性能基线校验章节、触发场景、frontmatter、输出格式与摘要项。 - 67f91de6:校验二明确外抛适用对象并强制触发 ATT 性能建模。 - cbd43136:完善 vector bound 用例覆盖与外抛 ASCIR 识别方法(修正位宽变化路径为 IsNan/IsFinite/IsInf,SignBit/Frexp 不外抛)。 - ede6a343:性能基线校验改为外抛先行、vector bound 兜底的分支流程。 - 7e32f5a9:无上板环境时 vector bound 兜底交付告警+用例+执行方法+识别方法。 See merge request: cann/graph-autofusion!1841 | 9 天前 | |
修复ascendc_api不拦截 | 2 天前 | |
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 个月前 | |
【PR】: 修复readme里pip安装torch_npu报错的问题 Co-authored-by: @gcw_Xt6hqG9y<1634807286@qq.com> # message auto-generated for no-merge-commit merge: !1913 merge readme-fix into develop 【PR】: 修复readme里pip安装torch_npu报错的问题 Created-by: gcw_Xt6hqG9y Commit-by: @gcw_Xt6hqG9y Merged-by: cann-robot Description: # Pull Request ## 描述 修复readme里pip安装torch_npu报错的问题 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [x] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 描述测试此变更的步骤和前提条件: 1.根据修改的autofusion/readme.md自测 ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如: feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/graph-autofusion!1913 | 3 天前 | |
graph-autofusion安装权限规范统一 Co-authored-by: q00889097<qinhan10@huawei.com> # message auto-generated for no-merge-commit merge: !1901 merge develop into develop graph-autofusion安装权限规范统一 Created-by: qinhan123 Commit-by: q00889097 Merged-by: cann-robot Description: # Pull Request ## 描述 请清晰准确地描述本次 Pull Request 的意图和变更内容。 统一graph-autofusion安装文件及目录权限,这些权限统一由cmake控制,删除安装脚本的修改权限操作 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [x] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 根据改动后的权限出包安装验证,是否符合预期:所有目录均为750,可执行程序为750,python/shell脚本为750, share/info/包名/script目录下安装卸载脚本等统一为740,其他文件为640,符号链接为777 ## 核对清单 <!-- [x] 表示选中 --> - [ ] 我的代码遵循了项目的代码风格 - [ ] 我已对代码进行了自测 - [ ] 我已更新了相关的文档 - [ ] 我在标题中使用了合适的类型标签(如: feat:, fix:) - [ ] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/graph-autofusion!1901 | 3 天前 | |
docs: add af arch file Co-authored-by: w00800187<wangmingming39@huawei.com> # message auto-generated for no-merge-commit merge: !1698 merge wmm_dev_readme into develop docs: add af arch file Created-by: gcw_WTfSfUy7 Commit-by: w00800187 Merged-by: cann-robot Description: # Pull Request ## 描述 增加AutoFusion仓库内综述,以及使用文档。 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [x] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 描述测试此变更的步骤和前提条件: 不涉及 ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如: feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/graph-autofusion!1698 | 7 天前 | |
perf: 优化 IndirectLoad embedding SIMD/SIMT 路径并完善拓扑处理 Co-authored-by: xiebangrui<xiebangrui@huawei.com> # message auto-generated for no-merge-commit merge: !1863 merge IL into develop perf: 优化 IndirectLoad embedding SIMD/SIMT 路径并完善拓扑处理 Created-by: xiebangrui2025 Commit-by: xiebangrui Merged-by: cann-robot Description: ## 描述 面向类 embedding 场景优化 IndirectLoad 的 SIMD/SIMT 性能路径,同时收敛拓扑分析、模板角色标注和寄存器 codegen 公共流程,修复 fanout、post-reduce、broadcast、多输出及跳过节点链路中的 tensor 生命周期和输出映射问题。 ## 变更内容 - 增加统一的 IndirectLoad 访问分析与 embedding capability 判定,按输入 payload 和 lookup 成本选择 SIMD/SIMT 快速路径。 - 收敛输入/输出拓扑遍历、SIMT 主路径/fanout 旁路/输入闭包的模板 role 标注,并增加不支持拓扑校验。 - 完善直接 GM、跳过 API 节点、跳过链路结果 tensor 映射及多输出/post-reduce codegen。 - 重构 SIMT 元数据收集与状态复用,支持物理 index stride、mixed physical view、embedding address policy 和多输出 evaluator。 - 保留并完善 SIMD dense/gather/strided 选择及 TryIndirectLoadSimdEmbedding 快速路径。 - 收敛 IL E2E backend/CMake/runner 配置,补充 embedding、tail/aligned、fanout、graph-hint、mixed-view 等回归用例。 ## 变更类型 - [x] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [x] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [x] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue 本 PR 未关联 Issue。 ## 如何测试 1. 对本次 15 个目标文件执行限定范围 pre-commit run --files ...,clang-format、代码规范检查和 OAT 增量检查均通过。 2. 执行 source /usr/local/Ascend/cann-9.2.0/set_env.sh && cmake --build build --target codegen -j 20,编译通过。 3. squash 前同一代码内容的 80 个可执行 IL E2E 用例全部通过;squash 后复测 embedding、embedding tail/aligned、graph-hint 和 mixed-view 代表用例 5/5 通过。 ## 核对清单 - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [ ] 我已更新了相关的文档(本次不涉及文档) - [x] 我在标题中使用了合适的类型标签(perf:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守其中的所有规定,包括 commit message 格式和无效 commit 的合并 ## 其他信息 - PR 分支历史已合并为单一提交:c4660c39。 - 当前保留 embedding SIMD/SIMT 优化路径;提交中未包含工作区已有的 .gitignore 修改和未跟踪调试文件。 See merge request: cann/graph-autofusion!1863 | 3 天前 | |
only adapter scopeverify func whitout sk | 3 天前 | |
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】: AF日志易用性整改 Co-authored-by: s00357600sgd<shenguodong1@huawei.com> # message auto-generated for no-merge-commit merge: !1864 merge autofusion_log_daily_develop into develop 【PR】: AF日志易用性整改 Created-by: s003576sgd Commit-by: s00357600sgd Merged-by: cann-robot Description: # Pull Request ## 描述 整改工具扫描的日志中存在的拼写错误、中文、缺少度量单位等低级问题,并排查类似问题统一修改 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [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!1864 | 7 天前 | |
【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 个月前 | |
chore: protect docs superpowers path Co-authored-by: zhang_shengjie<804425610@qq.com> # message auto-generated for no-merge-commit merge: !1854 merge att-analysis-pr-policy into develop chore: protect docs superpowers path Created-by: zhang_shengjie Commit-by: zhang_shengjie Merged-by: cann-robot Description: # Pull Request ## 1. 主要解决的问题 避免误提交 docs/superpowers/ 下的设计草稿、计划或其他临时文档。 ## 2. 修改方案 - 新增 scripts/reject_forbidden_paths.sh,检查 staged 文件路径。 - 在 .pre-commit-config.yaml 注册本地 hook。 - 对新增、修改和删除的 docs/superpowers/** 文件统一拒绝。 - 不删除仓库中已有的 docs/superpowers 文件。 mermaid flowchart LR A[git commit] --> B[pre-commit] B --> C{staged path under docs/superpowers?} C -->|是| D[拒绝提交] C -->|否| E[继续其他检查] ## 3. 测试用例说明 | 检查项 | 结果 | | --- | --- | | pre-commit 配置解析 | 通过 | | 正常 staged 文件 | 通过 | | staged docs/superpowers/.hook-test | 正确拒绝 | | git diff --check | 通过 | ## 4. 核对清单 - [x] 仅修改 hook 配置和 hook 脚本 - [x] 不包含顶层 docs/ 业务文档变更 - [x] 不删除已有设计文档 - [x] 不引入运行时或构建行为变化 ## 5. 其他信息 该 PR 无需编译或设备验证;合入后对后续提交生效。 See merge request: cann/graph-autofusion!1854 | 7 天前 | |
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! | 10 个月前 | |
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 个月前 | |
docs: add af arch file Co-authored-by: w00800187<wangmingming39@huawei.com> # message auto-generated for no-merge-commit merge: !1698 merge wmm_dev_readme into develop docs: add af arch file Created-by: gcw_WTfSfUy7 Commit-by: w00800187 Merged-by: cann-robot Description: # Pull Request ## 描述 增加AutoFusion仓库内综述,以及使用文档。 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [x] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 描述测试此变更的步骤和前提条件: 不涉及 ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如: feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/graph-autofusion!1698 | 7 天前 | |
docs: add af arch file Co-authored-by: w00800187<wangmingming39@huawei.com> # message auto-generated for no-merge-commit merge: !1698 merge wmm_dev_readme into develop docs: add af arch file Created-by: gcw_WTfSfUy7 Commit-by: w00800187 Merged-by: cann-robot Description: # Pull Request ## 描述 增加AutoFusion仓库内综述,以及使用文档。 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [x] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 描述测试此变更的步骤和前提条件: 不涉及 ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如: feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/graph-autofusion!1698 | 7 天前 | |
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 个月前 | |
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 简介与快速上手。
📚文档
如果希望了解 Graph-autofusion 架构、模块功能、Skills等,可参考以下文档:
- AutoFuse 架构说明:介绍 AutoFuse 的整体架构、关键技术方案、处理流程和模块职责。
- 贡献指南:说明如何参与项目贡献、提交 Issue 和 Pull Request。
- Skills 管理指南:介绍仓内默认使用的 Skills 及其管理方式。
- Skill 复用指南:介绍如何复用 Skill,并使用 Agent 辅助代码阅读、开发和问题定位。
🌐生态集成
AutoFuse 可作为上层图编译器和深度学习框架的自动融合后端,为模型编译和执行提供 Ascend C 融合算子生成能力。当前主要集成路径包括:
- GE:作为 GE 的自动融合后端。GE 项目
- PyTorch:作为 PyTorch Inductor 的 Ascend C 后端,通过
torch.compile使用 AutoFuse。TorchAir 项目 - TensorFlow:作为 TensorFlow Adapter 对接 GE 后使用的自动融合后端。TensorFlow Adapter 项目
上述集成路径以对应 CANN 版本和上层组件的实际支持情况为准。
🔍目录结构
graph-autofusion/
├── autofuse # Autofuse 组件,Autofuse 源代码、测试、文档均在该子目录中
├── build.sh # 一键式项目工程编译脚本
├── cmake # 项目工程编译目录
├── CMakeLists.txt # 项目 CMakeLists
├── docs # 项目整体文档
│ ├── zh # 中文文档
│ │ ├── build.md # 一键式构建脚本文档
│ │ └── ... # 其他中文文档
│ └── en # 英文文档
│ ├── build.md # 一键式构建脚本文档
│ └── ... # 其他英文文档
├── scripts # 构建、环境安装和测试脚本
│ ├── env_install # 环境安装脚本
│ ├── package # 打包脚本
│ ├── test # 测试脚本
│ ├── check_env.sh # 环境检查脚本
│ ├── init_env.sh # 环境初始化脚本
│ ├── oat_check.sh # OAT 合规性检查脚本
│ └── support_multiple_versions_of_lcov.sh # 多版本 lcov 兼容脚本
├── super_kernel # SuperKernel 组件,SuperKernel 源代码、测试、文档均在该子目录中
├── README.md # graph-autofusion 项目整体功能介绍
└── README_en.md # graph-autofusion 项目英文介绍