文件最后提交记录最后更新时间
融合pass sample目录整理 && README对应修改 Co-authored-by: zhangfeifan0709<zhangfeifan7@huawei.com> # message auto-generated for no-merge-commit merge: !1351 merge develop_modify-dir into develop 融合pass sample目录整理 && README对应修改 Created-by: zhangfeifan0709 Commit-by: zhangfeifan0709 Merged-by: cann-robot Description: # Pull Request ## 描述 融合pass sample目录整理,将对应sample移动到pattern_base_pass或graph_base_pass目录下 && README对应修改 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [x] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 确认sample位置正确 ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/ge!13512 个月前
docs: update fusion pass python samples Co-authored-by: kobemini<gengchao4@huawei.com> # message auto-generated for no-merge-commit merge: !3043 merge docs/fusion-pass-python-es-readme into develop docs: update fusion pass python samples Created-by: kobemini Commit-by: kobemini Merged-by: cann-robot Description: # Pull Request ## 描述 统一 examples/fusion_pass 下 Python 样例文档和 ES API 生成方式: - 为所有 fusion_pass Python 样例目录补齐本目录自己的 CMakeLists.txt - 将 1/2/3/2_move 等样例的 es_all 生成说明改为使用 Python 目录 CMakeLists.txt,不再复用 C++ build 目录 - 补充 Python 3.11 Conda 环境示例,并统一 Python 版本 ABI 要求说明 - 移除 Python README 中不可在本地 IDE 稳定跳转的 C++ README section 锚点 - 统一 ES API 缺失时报错提示,引导用户参考 README 的可选 es_all/es_custom 处理步骤 ## 变更类型 - [ ] Bug 修复 - [ ] 新功能 - [ ] 代码风格更新(格式化,局部变量) - [ ] 重构(既不修复错误也不增加功能的代码变动) - [x] 构建过程或辅助工具的变动 - [x] 文档内容更新 ## 关联的Issue 无 ## 如何测试 - git diff --cached --check - python3 AST 语法检查 examples/fusion_pass/**/python/src/*.py - Markdown 本地链接检查 - 确认 examples/fusion_pass 下 8 个 Python 样例目录均包含 CMakeLists.txt ## 核对清单 - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md) ## 其他信息 用户提到的目标分支 devlop 在 upstream 不存在,实际创建到 upstream/cann/ge 的 develop 分支。 See merge request: cann/ge!304314 天前
【PR】: 【BugFix】修复example里的链接跳转失败问题 Co-authored-by: xiaguozheng<xiaguozheng1@hisilicon.com> # message auto-generated for no-merge-commit merge: !3190 merge f_20260527 into develop 【PR】: 【BugFix】修复example里的链接跳转失败问题 Created-by: Mexyy Commit-by: xiaguozheng Merged-by: cann-robot Description: # Pull Request ## 描述 网址需要加https://前缀,否则无法跳转 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [x] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的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/ge!31908 天前
docs: 优化融合 pattern pass 文档&&Python pass API/行为调整 Co-authored-by: kobemini<gengchao4@huawei.com> # message auto-generated for no-merge-commit merge: !3248 merge doc/pass-reade-me into develop docs: 优化融合 pattern pass 文档&&Python pass API/行为调整 Created-by: kobemini Commit-by: kobemini Merged-by: cann-robot Description: # Pull Request ## 描述 本 PR 优化融合 Pattern Pass 的机制说明、开发指南和 Python 写法体验,目标是让用户能按文档理解机制并完成自定义融合 pass 开发。 主要变更: - 新增融合 Pattern Pass 特性文档,按“匹配 → 条件过滤 → 替换 → 边界规则 → capture tensor → DecomposePass → 执行阶段”说明统一机制。 - 新增 Python / C++ 融合 Pass 开发指南,Python 侧突出运行时接入、@pattern 表达式写法和 replacement 表达式返回。 - 删除旧的混合指南,将内容拆分到特性文档和 C++/Python 指南中,并更新 examples、架构文档和 ASCEND_GE_PY_PASS_PATH 文档入口。 - 收口 Python capture tensor 写法:去掉公开的独立 capture_tensor() helper,统一使用 Pattern.capture_tensor(...)。 - 增强 Pattern.capture_tensor:支持直接传入 TensorHolderNodeNodeIo,示例写法从 pat.capture_tensor(capture_tensor(matmul)) 简化为 pat.capture_tensor(matmul)。 - 增强 @pattern 自动 capture 规则:从“只捕获已访问输入”提升为“先捕获已访问输入,再捕获 return 的 pattern 输出”,并在文档中明确 capture 顺序。 ## 变更类型 - [ ] Bug 修复 - [x] 新功能 - [ ] 代码风格更新(格式化,局部变量) - [ ] 重构(既不修复错误也不增加功能的代码变动) - [ ] 构建过程或辅助工具的变动 - [x] 文档内容更新 ## 关联的 Issue 无 ## 如何测试 已执行: - git diff --check - python3 -m py_compile 检查修改过的 Python pass 框架文件、示例和 Python 测试文件 - 检查本 PR 修改文档中的相对链接均存在 - 检索确认旧的 capture_tensor(capture_tensor(...)) 嵌套写法、独立 capture_tensor 导出和旧文档入口已清理 - python3 -m pytest tests/ge/ut/ge/graph/pyge_tests/python_pattern_pass_test.py::... - ut_fusion_pass_executor_utest ## 核对清单 - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md) ## 其他信息 当前 PR 包含文档和 Python pass API/行为调整。@pattern 自动 capture 顺序为:先按输入序号捕获已访问的 inputs,再按 return 结构顺序捕获 pattern 输出。 See merge request: cann/ge!32485 天前
README.md

融合Pass样例

本目录提供了继承GE提供的类并重写其方法来实现自定义融合pass的相关样例:

样例 样例链接
MatMul+Add融合为GEMM自定义pass样例 README
移动Concat后ReLu至Concat前的自定义pass样例 README
移动Concat后ReLu至Concat前的自定义pass样例(Python 版本) README
修改卷积算子data format的自定义pass样例 README
修改卷积算子data format的自定义pass样例(Python 版本) README

开发指南

如果要开发基于 pattern 匹配的融合 pass,推荐先阅读: