GE(Graph Engine)是面向昇腾的图编译器和执行器,提供了计算图优化、多流并行、内存复用和模型下沉等技术手段,加速模型执行效率,减少模型内存占用。 GE 提供对 PyTorch、TensorFlow 前端的友好接入能力,并同时支持 onnx、pb 等主流模型格式的解析与编译。
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
【PR】: ge-ut-st与ge-dt-runner, ge-dt-developer内容重复,故删除 Co-authored-by: PiyZZ<ling15255468810@gmail.com> # message auto-generated for no-merge-commit merge: !4031 merge develop into develop 【PR】: ge-ut-st与ge-dt-runner, ge-dt-developer内容重复,故删除 Created-by: PiyZZ Commit-by: PiyZZ Merged-by: cann-robot Description: # Pull Request ## 描述 请清晰准确地描述本次 Pull Request 的意图和变更内容。 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [x] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 描述测试此变更的步骤和前提条件: 1. 2. ## 核对清单 <!-- [x] 表示选中 --> - [ ] 我的代码遵循了项目的代码风格 - [ ] 我已对代码进行了自测 - [ ] 我已更新了相关的文档 - [ ] 我在标题中使用了合适的类型标签(如: feat:, fix:) - [ ] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/ge!4031 | 2 个月前 | |
fix: 修复代码提交模板问题&&拼写错误问题 Co-authored-by: yelongjian<yelongjian1@huawei.com> # message auto-generated for no-merge-commit merge: !3828 merge dev-pull0702 into develop fix: 修复代码提交模板问题&&拼写错误问题 Created-by: yelongjian Commit-by: yelongjian Merged-by: cann-robot Description: # Pull Request ## 描述 修复代码提交模板问题&&拼写错误问题 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [x] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的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/ge!3828 | 2 个月前 | |
fix: precommit整改 Co-authored-by: yelongjian<yelongjian1@huawei.com> # message auto-generated for no-merge-commit merge: !3726 merge dev-precommit into develop fix: precommit整改 Created-by: yelongjian Commit-by: yelongjian Merged-by: cann-robot Description: # Pull Request ## 描述 precommit整改 ## 变更类型 请选择本次引入的变更类型: <!-- [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/ge!3726 | 3 个月前 | |
compile Co-authored-by: Xie Zhengkai<xiezhengkai@huawei.com> # message auto-generated for no-merge-commit merge: !3990 merge feature/batch-deterministic-level into develop feat: support batch consistency config Created-by: ClarkXie Commit-by: Xie Zhengkai Merged-by: cann-robot Description: # Pull Request ## 描述 支持 batch 一致性配置:扩展 ge.deterministicLevel 取值范围到 0..3,新增节点级 _deterministic_level 与 _deterministic 属性,并在 Tiling 构造时按 level 对齐 deterministic:level >= 1 时 deterministic 生效,level 为 0 时回退为 0;未显式传入 level 时不做兼容对齐。 节点级属性优先于图级 option/graph attr。RT2 lowering 按节点实际值创建 Deterministic_* 与 DeterministicLevel_* holder,避免不同节点误共享。ComputeGraph 融合增加 _deterministic / _deterministic_level 的显式值合法性、冲突检查,并在 FuseNodeKeepTopo 成功融合时继承唯一显式值。 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [x] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue 无 ## 如何测试 描述测试此变更的步骤和前提条件: 1. 已执行 git diff --check 2. 已补充 GE / metadef 相关 UT 与 ST 覆盖:option 传入、节点属性优先、无 level 不做兼容对齐、非法值、融合继承与冲突场景 3. 本地未执行完整编译和全量 UT/ST ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [ ] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 本 PR 未修改 TE/FE 上游逻辑;Python Tiling 仅调整 op_tiling_py.cc 消费端 level 范围校验。融合改动限制在 ComputeGraph 相关逻辑,未修改 graph_pass_util 和 graph_replace。 See merge request: cann/ge!3990 | 2 个月前 | |
compile Co-authored-by: Xie Zhengkai<xiezhengkai@huawei.com> # message auto-generated for no-merge-commit merge: !3990 merge feature/batch-deterministic-level into develop feat: support batch consistency config Created-by: ClarkXie Commit-by: Xie Zhengkai Merged-by: cann-robot Description: # Pull Request ## 描述 支持 batch 一致性配置:扩展 ge.deterministicLevel 取值范围到 0..3,新增节点级 _deterministic_level 与 _deterministic 属性,并在 Tiling 构造时按 level 对齐 deterministic:level >= 1 时 deterministic 生效,level 为 0 时回退为 0;未显式传入 level 时不做兼容对齐。 节点级属性优先于图级 option/graph attr。RT2 lowering 按节点实际值创建 Deterministic_* 与 DeterministicLevel_* holder,避免不同节点误共享。ComputeGraph 融合增加 _deterministic / _deterministic_level 的显式值合法性、冲突检查,并在 FuseNodeKeepTopo 成功融合时继承唯一显式值。 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [x] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue 无 ## 如何测试 描述测试此变更的步骤和前提条件: 1. 已执行 git diff --check 2. 已补充 GE / metadef 相关 UT 与 ST 覆盖:option 传入、节点属性优先、无 level 不做兼容对齐、非法值、融合继承与冲突场景 3. 本地未执行完整编译和全量 UT/ST ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [ ] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 本 PR 未修改 TE/FE 上游逻辑;Python Tiling 仅调整 op_tiling_py.cc 消费端 level 范围校验。融合改动限制在 ComputeGraph 相关逻辑,未修改 graph_pass_util 和 graph_replace。 See merge request: cann/ge!3990 | 2 个月前 | |
refactor: 删除ge库上冗余的加头签名脚本。更新cmake仓版本号,解决社区签名报错问题。 Co-authored-by: Feiteng Zheng<zhengfeiteng1@h-partners.com> # message auto-generated for no-merge-commit merge: !4075 merge 20260714-support-build-packages into develop refactor: 删除ge库上冗余的加头签名脚本。更新cmake仓版本号,解决社区签名报错问题。 Created-by: zhengfeiteng Commit-by: Feiteng Zheng Merged-by: cann-robot Description: # Pull Request ## 描述 删除ge库上冗余的加头签名脚本。更新cmake仓版本号,解决社区签名报错问题。 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [x] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 描述测试此变更的步骤和前提条件: 1.对比修改前后ge相关二进制。 ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如: feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/ge!4075 | 2 个月前 | |
【fix】: getshape dynamic input need AddInputDesc with name Co-authored-by: tang-haojie<tanghaojie1@huawei.com> # message auto-generated for no-merge-commit merge: !4111 merge getshape_bug into develop 【fix】: getshape dynamic input need AddInputDesc with name Created-by: tang-haojie Commit-by: tang-haojie Merged-by: cann-robot Description: # Pull Request ## 描述 GetShape算子是动态输入x,对这个算子构造opdesc的时候需要用带name的AddInputDesc方法。 ## 变更类型 请选择本次引入的变更类型: <!-- [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!4111 | 2 个月前 | |
【PR】: sync master to develop 20260723 Co-authored-by: Archerls<wuhuiyang3@huawei.com> Co-authored-by: jiang-mingming01<jiangmingming16@h-partners.com> Co-authored-by: Feiteng Zheng<zhengfeiteng1@h-partners.com> Co-authored-by: liangxuheng<741015122@qq.com> Co-authored-by: du-hua1024<duhua2@huawei.com> # message auto-generated for no-merge-commit merge: !4121 merge master into develop 【PR】: sync master to develop 20260723 Created-by: zhanj Commit-by: zhanj;zhengfeiteng;Feiteng Zheng;jiang-mingming01;Chang-an-HW;yangyongqiang0606;du-hua1024;liangxuheng;Archerls;jikai-tyler Merged-by: cann-robot Description: # Pull Request ## 描述 sync master to develop 20260723 ## 变更类型 请选择本次引入的变更类型: <!-- [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/ge!4121 | 2 个月前 | |
【doc】: dflow设计文档补充GraphPp编译配置 Co-authored-by: lining23666<lining.li@huawei.com> # message auto-generated for no-merge-commit merge: !4092 merge doc/dflow-dynamic-shape into develop 【doc】: dflow设计文档补充GraphPp编译配置 Created-by: lining23666 Commit-by: lining23666 Merged-by: cann-robot Description: # Pull Request ## 描述 在 dflow 设计文档(docs/zh/design/modules/dflow/dflow.md)中新增 3.5 节"GraphPp 编译配置",补充遗漏的 GraphPp 编译配置特性。 原设计文档未介绍 GraphPp 的编译配置 JSON 文件入口,读者无法了解如何为 GraphPp 子图单独设置编译参数。本次补充内容位于第 3 节"对外接口"下,作为 3.5 节,与 3.1 C++ 构图接口、3.4 数据类型并列。 补充内容包含: - GraphPp 编译配置 JSON 入口(C++ SetCompileConfig / Python compile_config_path)及顶层两键 - **build_options**:键值对原样透传给 GE 编译器,GE 支持的图编译参数都可以在这里为 GraphPp 子图单独设置(具体 option 的名称和取值格式参考 GE 编译参数文档) - **inputs_tensor_desc**:dflow 私有配置,当原图 Data 节点的 dtype/format/shape 与预期编译不一致时(如原图静态 shape 需改为动态维度),通过此配置覆盖为正确值;原图描述已正确时无需设置 - 配置 JSON 示例(以动态 shape 编译为例,build_options 透传 GE 编译参数,inputs_tensor_desc 将原图静态 shape 覆盖为动态维度) - 与执行路径选择的关系(配置动态 shape → 走 ProxyDynamicModelExecutor 动态执行;未配置 → 走 task sink 静态执行,衔接 4.3.6 节) ## 变更类型 - [ ] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新 - [ ] ♻️ 重构 - [ ] 📦 构建过程或辅助工具的变动 - [x] 📝 文档内容更新 ## 关联的Issue 无 ## 如何测试 1. 文档变更,无需运行测试 2. 已通过 pre-commit 检查(codespell/clang-format/end-of-file-fixer 等 hooks 全部 Passed) ## 核对清单 - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签 - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定 See merge request: cann/ge!4092 | 2 个月前 | |
feat:支持融合结果上报的 Python 化 Co-authored-by: lfz2812<220252399@seu.edu.cn> # message auto-generated for no-merge-commit merge: !4070 merge develop into develop feat:支持融合结果上报的 Python 化 Created-by: lfz2812 Commit-by: lfz2812 Merged-by: cann-robot Description: # Pull Request ## 描述 在 PR3996 完成 can_fuse Python 化的基础上,本 PR 继续补齐 GE 融合结果上报能力,使 Python 融合 Pass 能够完成融合可行性 检查、改图和融合结果上报的完整流程。 本次修改包括: 1. 新增 report_fuse Python native 绑定: - 接收融合前、融合后的 Python Node 可迭代对象。 - 统一将 Python Node 转换为 C++ GNode 集合。 - 调用 GraphFuseInspectorUtils::ReportFuse 上报融合结果。 - 上报失败时将错误信息写入 PassContext,并向 Python 抛出 RuntimeError。 - 在 ge.passes 中公开 report_fuse,并补充类型声明。 2. 为 SubgraphRewriter.replace 增加带 context 的调用方式: - 原有 SubgraphRewriter.replace(boundary, replacement) 行为保持不变。 - 新增 SubgraphRewriter.replace(boundary, replacement, context=context)。 - 传入 context 后,由底层自动完成融合可行性检查、子图替换和融合结果上报。 - 执行失败时将错误信息写入 PassContext,并向 Python 抛出 RuntimeError。 3. 支持两种 Python 融合 Pass 改图流程: - 传统直接改图方式:用户依次调用 can_fuse、自定义 Graph 改图接口和 report_fuse。 - 基于子图替换的方式:用户传入 context 调用 SubgraphRewriter.replace,由底层统一完成检查、替换和上报。 4. 优化 Python 与 native 层的职责划分: - 节点可迭代对象的遍历、类型校验和 GNode 转换统一在 native 层完成,避免 Python 与 native 重复处理。 - can_fuse 保留 Python 包装,用 FuseCheckResult 封装检查结果。 - report_fuse 无需适配返回值,直接重导出 native 实现。 5. 更新 Python 融合 Pass 样例: - move_relu_before_concat_pass 使用带 context 的 SubgraphRewriter.replace。 - modify_conv_data_format_pass 演示 can_fuse、直接改图、report_fuse 和旧节点删除的调用顺序。 - 同步更新相关中英文 README。 6. 补充接口和设计文档: - 新增 report_fuse API 文档。 - 更新 SubgraphRewriter.replace API 文档,说明传入和不传入 context 时的行为差异。 - 更新 GE Python 中英文设计文档和 API 索引。 7. 补充和更新测试: - 校验 report_fuse 非法 PassContext 入参。 - 验证 Python Pass 通过 pybind 调用 report_fuse。 - 验证带 context 的融合结果上报流程。 - 保留 can_fuse 正常、异常和边界场景覆盖。 调用示例: python from ge.passes import can_fuse, report_fuse # 传统直接改图方式 result = can_fuse(nodes_before) if not result.ok: context.set_error_message(result.reason) return False # 用户直接调用Graph接口完成自定义改图。 report_fuse(nodes_before, nodes_after, context) from ge.passes import SubgraphRewriter # 基于子图替换的方式 SubgraphRewriter.replace( boundary, replacement, context=context, ) ## 变更类型 - [ ] 🐛 Bug 修复 - [x] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [x] 📝 文档内容更新 ## 关联的Issue 关联 Issue:#299 ## 如何测试 1. 执行 Python UT: bash tests/run_test.sh --ut=python 2. 执行 ut_fusion_pass_executor_utest,验证 Python Pass 通过 pybind 调用 report_fuse,并检查 PythonFusionBasePass_PybindBridge_RunSuccess 用例。 3. 检查相关 Python 融合 Pass 样例和中英文文档。 ## 核对清单 - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit 的合并等 ## 其他信息 - 原有 SubgraphRewriter.replace(boundary, replacement) 接口保持兼容。 - 传统直接改图场景必须在旧节点被删除或失效前调用 report_fuse。 - 本次仅新增 Python 融合结果上报和带 context 的标准化子图替换能力,不改变原有 Python Pass 注册及执行机制。 See merge request: cann/ge!4070 | 2 个月前 | |
compile Co-authored-by: Xie Zhengkai<xiezhengkai@huawei.com> # message auto-generated for no-merge-commit merge: !3990 merge feature/batch-deterministic-level into develop feat: support batch consistency config Created-by: ClarkXie Commit-by: Xie Zhengkai Merged-by: cann-robot Description: # Pull Request ## 描述 支持 batch 一致性配置:扩展 ge.deterministicLevel 取值范围到 0..3,新增节点级 _deterministic_level 与 _deterministic 属性,并在 Tiling 构造时按 level 对齐 deterministic:level >= 1 时 deterministic 生效,level 为 0 时回退为 0;未显式传入 level 时不做兼容对齐。 节点级属性优先于图级 option/graph attr。RT2 lowering 按节点实际值创建 Deterministic_* 与 DeterministicLevel_* holder,避免不同节点误共享。ComputeGraph 融合增加 _deterministic / _deterministic_level 的显式值合法性、冲突检查,并在 FuseNodeKeepTopo 成功融合时继承唯一显式值。 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [x] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue 无 ## 如何测试 描述测试此变更的步骤和前提条件: 1. 已执行 git diff --check 2. 已补充 GE / metadef 相关 UT 与 ST 覆盖:option 传入、节点属性优先、无 level 不做兼容对齐、非法值、融合继承与冲突场景 3. 本地未执行完整编译和全量 UT/ST ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [ ] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 本 PR 未修改 TE/FE 上游逻辑;Python Tiling 仅调整 op_tiling_py.cc 消费端 level 范围校验。融合改动限制在 ComputeGraph 相关逻辑,未修改 graph_pass_util 和 graph_replace。 See merge request: cann/ge!3990 | 2 个月前 | |
fix: 更新GetStreamId函数以返回UINT32_MAX并记录错误日志,增强参数验证 Co-authored-by: Chang-an-HW<machangan@huawei.com> # message auto-generated for no-merge-commit merge: !4112 merge fix_get_stream_id_func into develop fix: 更新GetStreamId函数以返回UINT32_MAX并记录错误日志,增强参数验证 Created-by: Chang-an-HW Commit-by: Chang-an-HW Merged-by: cann-robot Description: # Pull Request ## 描述 fix: 更新GetStreamId函数以返回UINT32_MAX并记录错误日志,增强参数验证 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [x] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [ ] 我已更新了相关的文档 - [ ] 我在标题中使用了合适的类型标签(如: feat:, fix:) - [ ] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/ge!4112 | 2 个月前 | |
【PR】: 修复无输入算子转换OM模型失败问题 Co-authored-by: jikai-tyler<jikai5@huawei.com> # message auto-generated for no-merge-commit merge: !4052 merge parser_0715 into develop 【PR】: 修复无输入算子转换OM模型失败问题 Created-by: jikai-tyler Commit-by: jikai-tyler Merged-by: cann-robot Description: # Pull Request ## 描述 修复了无输入算子(如 RandomNormal)在转换为 OM 模型时丢失的问题。 ## 变更类型 请选择本次引入的变更类型: <!-- [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!4052 | 2 个月前 | |
【refactor】: move amct headers to pkg_inc dir Co-authored-by: kantao1<kantao1@huawei.com> # message auto-generated for no-merge-commit merge: !3863 merge develop into develop 【refactor】: move amct headers to pkg_inc dir Created-by: kantao1 Commit-by: kantao1 Merged-by: cann-robot Description: # Pull Request ## 描述 将与 amct 相关的两个头文件移到 pkg_inc/ 目录下,方便统一管控。 上一单合入PR是:https://gitcode.com/cann/ge/pull/3317 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [x] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 描述测试此变更的步骤和前提条件: 1.不影响 toolkit 包内头文件位置 ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如: feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/ge!3863 | 2 个月前 | |
compile Co-authored-by: Xie Zhengkai<xiezhengkai@huawei.com> # message auto-generated for no-merge-commit merge: !3990 merge feature/batch-deterministic-level into develop feat: support batch consistency config Created-by: ClarkXie Commit-by: Xie Zhengkai Merged-by: cann-robot Description: # Pull Request ## 描述 支持 batch 一致性配置:扩展 ge.deterministicLevel 取值范围到 0..3,新增节点级 _deterministic_level 与 _deterministic 属性,并在 Tiling 构造时按 level 对齐 deterministic:level >= 1 时 deterministic 生效,level 为 0 时回退为 0;未显式传入 level 时不做兼容对齐。 节点级属性优先于图级 option/graph attr。RT2 lowering 按节点实际值创建 Deterministic_* 与 DeterministicLevel_* holder,避免不同节点误共享。ComputeGraph 融合增加 _deterministic / _deterministic_level 的显式值合法性、冲突检查,并在 FuseNodeKeepTopo 成功融合时继承唯一显式值。 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [x] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue 无 ## 如何测试 描述测试此变更的步骤和前提条件: 1. 已执行 git diff --check 2. 已补充 GE / metadef 相关 UT 与 ST 覆盖:option 传入、节点属性优先、无 level 不做兼容对齐、非法值、融合继承与冲突场景 3. 本地未执行完整编译和全量 UT/ST ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [ ] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 本 PR 未修改 TE/FE 上游逻辑;Python Tiling 仅调整 op_tiling_py.cc 消费端 level 范围校验。融合改动限制在 ComputeGraph 相关逻辑,未修改 graph_pass_util 和 graph_replace。 See merge request: cann/ge!3990 | 2 个月前 | |
refactor: 删除ge库上冗余的加头签名脚本。更新cmake仓版本号,解决社区签名报错问题。 Co-authored-by: Feiteng Zheng<zhengfeiteng1@h-partners.com> # message auto-generated for no-merge-commit merge: !4075 merge 20260714-support-build-packages into develop refactor: 删除ge库上冗余的加头签名脚本。更新cmake仓版本号,解决社区签名报错问题。 Created-by: zhengfeiteng Commit-by: Feiteng Zheng Merged-by: cann-robot Description: # Pull Request ## 描述 删除ge库上冗余的加头签名脚本。更新cmake仓版本号,解决社区签名报错问题。 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [x] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 描述测试此变更的步骤和前提条件: 1.对比修改前后ge相关二进制。 ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如: feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/ge!4075 | 2 个月前 | |
update ut coverage | 2 个月前 | |
fix: precommit整改 Co-authored-by: yelongjian<yelongjian1@huawei.com> # message auto-generated for no-merge-commit merge: !3726 merge dev-precommit into develop fix: precommit整改 Created-by: yelongjian Commit-by: yelongjian Merged-by: cann-robot Description: # Pull Request ## 描述 precommit整改 ## 变更类型 请选择本次引入的变更类型: <!-- [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/ge!3726 | 3 个月前 | |
fix: precommit整改 Co-authored-by: yelongjian<yelongjian1@huawei.com> # message auto-generated for no-merge-commit merge: !3726 merge dev-precommit into develop fix: precommit整改 Created-by: yelongjian Commit-by: yelongjian Merged-by: cann-robot Description: # Pull Request ## 描述 precommit整改 ## 变更类型 请选择本次引入的变更类型: <!-- [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/ge!3726 | 3 个月前 | |
【PR】: Remove all exec_order assignments to align with exec_order removal in AF Co-authored-by: 盛楠<titan.sheng@huawei.com> # message auto-generated for no-merge-commit merge: !4040 merge f_exec_order into develop 【PR】: Remove all exec_order assignments to align with exec_order removal in AF Created-by: shengnan666 Commit-by: 盛楠 Merged-by: cann-robot Description: # Pull Request ## 描述 配合 af 做 exec_order 废弃的工作,删除对 exec_order 的赋值 ## 变更类型 请选择本次引入的变更类型: <!-- [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/ge!4040 | 2 个月前 | |
fix: OAT检查适配仅检查修改文件 Co-authored-by: yelongjian<yelongjian1@huawei.com> # message auto-generated for no-merge-commit merge: !3984 merge dev-precommit0713 into develop fix: OAT检查适配仅检查修改文件 Created-by: yelongjian Commit-by: yelongjian Merged-by: cann-robot Description: # Pull Request ## 描述 OAT检查适配仅检查修改文件 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [x] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的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/ge!3984 | 2 个月前 | |
docs: 新增dflow异步流水框架和UDF子模块设计文档 Co-authored-by: lining23666<lining.li@huawei.com> # message auto-generated for no-merge-commit merge: !4043 merge delete_code into develop docs: 新增dflow异步流水框架和UDF子模块设计文档 Created-by: lining23666 Commit-by: lining23666 Merged-by: cann-robot Description: # Pull Request ## 描述 新增 dflow (DataFlow) 异步流水框架的设计文档,以及 UDF(用户自定义函数)子模块的独立设计文档。 **dflow.md** 覆盖以下内容: - 特性背景:host-device 交互瓶颈痛点,DataFlow 的核心价值(多模型串接下沉执行、异步流水、低门槛自定义处理) - 用户使用场景:多模型串接、UDF 自定义处理、批处理聚合、多实例负载均衡 - 对外接口:C++/Python 构图 API(FlowGraph/FlowNode/ProcessPoint)、运行接口(DFlowSession)、数据类型(FlowMsg/rtMbuf) - 具体实现: - 编译层:PNE 引擎机制(NPU/CPU/UDF 三引擎)、多级缓存、编译 Pass - 模型抽象层:FlowModel/UdfModel/GraphModel/SerializedModel、ModelRelation、OM 序列化 - 部署层:多节点主从部署(头节点→从调度节点→子从调度节点→执行器进程)、进程层级体系、通信链路、模型执行(Host/NPU 静态/NPU 动态) - 执行层:异构执行器、数据对齐、事务追踪 - UDF 执行位置与多实例部署配置 - 端到端数据流和关键设计总结 **udf.md** 覆盖以下内容: - UDF 框架调用链路(SO 加载注册、Processor 初始化、运行时调度) - 调度核心:FlowFuncProcessor 10 态状态机、事件驱动重调度、看门狗、挂起/恢复 - 数据对齐与两种输入模式(Reader 驱动/FlowMsgQueue 流式) - 上下文体系、消息抽象、负载均衡、异常处理、内置 UDF(TimeBatch/CountBatch) 同时在 AGENTS.md 架构文档表中注册 dflow.md 的触发词和涉及目录。 ## 变更类型 - [ ] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [x] 📝 文档内容更新 ## 关联的Issue 无 ## 如何测试 1. 检查文档格式和链接是否正确 2. 检查 Mermaid 图表是否可正常渲染 ## 核对清单 - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如: feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定 ## 其他信息 变更文件:AGENTS.md(+1)、dflow.md(+646)、udf.md(+464),共 1111 行新增。 See merge request: cann/ge!4043 | 2 个月前 | |
提交英文资料 | 3 个月前 | |
fix: 非主线包补充 custom_op_runtime 并收束 Python runtime 生命周期 Co-authored-by: du-hua1024<duhua2@huawei.com> # message auto-generated for no-merge-commit merge: !4035 merge op into develop fix: 非主线包补充 custom_op_runtime 并收束 Python runtime 生命周期 Created-by: du-hua1024 Commit-by: du-hua1024 Merged-by: cann-robot Description: # Pull Request ## 描述 - 非主线包安装列表补充 custom_op_runtime,确保 Python 自定义算子运行时组件随包交付。 - 样例 README 同步补充 toolkit/ops 包安装和环境变量设置前置条件,明确 run 包编译 Python 版本需与执行版本一致。 - 清理 GeExecutor::Initialize() 和 GeGenerator::Initialize() 中对进程级 Python runtime 的重复初始化/析构职责,避免 executor/generator 层额外持有 EnsureReady()/ShutdownProcess() guard。acl 离线运行支持python自定义算子场景后续分析。 - ATC 侧将 GePythonRuntimeManager 生命周期收束到 api/atc/main_impl.cc::main_impl():raw options 加载成功后统一 EnsureReady(),并通过入口作用域 guard 在 ATC 退出时统一 ShutdownProcess()。 - ATC 子路径继续只负责各自资源:PrepareOmGeneration() / GenerateSingleOp() / ConvertModelToJson() 保留 custom op 加载或清理,GenerateModel() 保留 GELib 和 GeGenerator 的初始化/释放,不再分散管理 Python runtime。 GeGenerator::Initialize() 调用侧 GePythonRuntimeManager::EnsureReady() 覆盖链路说明 - ATC 总入口:main_impl() -> LoadRawOptionsForAtc() -> GePythonRuntimeManager::Instance().EnsureReady() -> 注册 release_python_runtime guard -> CheckGlobalOptionsBeforeRun() -> RunAtcByMode(raw_options)。因此 ATC 后续所有模式都处于同一个入口级 Python runtime 生命周期内。 - ACL graph build 初始化:aclgrphBuildInitialize() -> EnsureReady() + LoadCustomOps() + LoadPassPlugins();后续 aclgrphBuildModel() / aclgrphBundleBuildModel() 进入 Impl::BuildModel() -> Impl::Init() -> generator_.Initialize(),依赖先 initialize 后 build 的接口生命周期契约。 - ACL 单算子本地编译:aclopCompile() / aclopCompileAndExecute() / aclopCompileAndExecuteV2() / aclGenGraphAndDumpForOp() -> OpCompileProcessor::GetInstance() -> OpCompileProcessor::Init() -> SetOption() -> OpCompileService::SetCompileStrategy(NATIVE_COMPILER) -> LocalCompiler::CreateCompiler() -> LocalCompiler::Init() -> GEInitialize() -> GEInitializeV2() -> EnsureReady() + LoadCustomOps();之后 cache miss 或 dump 图路径再进入 LocalCompiler::OnlineCompileAndDump() -> GeGenerator::Initialize()。 ## 变更类型 请选择本次引入的变更类型(勾选对应项): - [x] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [x] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [x] 📝 文档内容更新 ## 关联的Issue 无。 ## 如何测试 历史用例通过,python自定义算子example正常运行 ## 核对清单 - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 See merge request: cann/ge!4035 | 2 个月前 | |
fix: precommit整改 Co-authored-by: yelongjian<yelongjian1@huawei.com> # message auto-generated for no-merge-commit merge: !3726 merge dev-precommit into develop fix: precommit整改 Created-by: yelongjian Commit-by: yelongjian Merged-by: cann-robot Description: # Pull Request ## 描述 precommit整改 ## 变更类型 请选择本次引入的变更类型: <!-- [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/ge!3726 | 3 个月前 | |
提交英文文档 | 3 个月前 | |
fix: precommit整改 Co-authored-by: yelongjian<yelongjian1@huawei.com> # message auto-generated for no-merge-commit merge: !3726 merge dev-precommit into develop fix: precommit整改 Created-by: yelongjian Commit-by: yelongjian Merged-by: cann-robot Description: # Pull Request ## 描述 precommit整改 ## 变更类型 请选择本次引入的变更类型: <!-- [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/ge!3726 | 3 个月前 | |
fix: precommit整改 Co-authored-by: yelongjian<yelongjian1@huawei.com> # message auto-generated for no-merge-commit merge: !3726 merge dev-precommit into develop fix: precommit整改 Created-by: yelongjian Commit-by: yelongjian Merged-by: cann-robot Description: # Pull Request ## 描述 precommit整改 ## 变更类型 请选择本次引入的变更类型: <!-- [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/ge!3726 | 3 个月前 | |
【PR】: 更新README,新增MsLite使用GE后端 Co-authored-by: yangyongqiang0606<yangyongqiang7@hisilicon.com> # message auto-generated for no-merge-commit merge: !4077 merge develop into develop 【PR】: 更新README,新增MsLite使用GE后端 Created-by: yangyongqiang0606 Commit-by: yangyongqiang0606 Merged-by: cann-robot Description: # Pull Request ## 描述 更新README,新增MS使用GE后端 ## 变更类型 请选择本次引入的变更类型: <!-- [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/ge!4077 | 2 个月前 | |
【PR】: 更新README,新增MsLite使用GE后端 Co-authored-by: yangyongqiang0606<yangyongqiang7@hisilicon.com> # message auto-generated for no-merge-commit merge: !4077 merge develop into develop 【PR】: 更新README,新增MsLite使用GE后端 Created-by: yangyongqiang0606 Commit-by: yangyongqiang0606 Merged-by: cann-robot Description: # Pull Request ## 描述 更新README,新增MS使用GE后端 ## 变更类型 请选择本次引入的变更类型: <!-- [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/ge!4077 | 2 个月前 | |
fix: precommit整改 Co-authored-by: yelongjian<yelongjian1@huawei.com> # message auto-generated for no-merge-commit merge: !3726 merge dev-precommit into develop fix: precommit整改 Created-by: yelongjian Commit-by: yelongjian Merged-by: cann-robot Description: # Pull Request ## 描述 precommit整改 ## 变更类型 请选择本次引入的变更类型: <!-- [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/ge!3726 | 3 个月前 | |
提交英文文档 | 3 个月前 | |
【PR】: add libseccomp to third party open source list Co-authored-by: lining23666<lining.li@huawei.com> # message auto-generated for no-merge-commit merge: !804 merge ln_0206 into develop 【PR】: add libseccomp to third party open source list Created-by: lining23666 Commit-by: lining23666 Merged-by: cann-robot Description: # Pull Request ## 描述 第三方开源软件列表中遗漏了libseccomp ## 变更类型 请选择本次引入的变更类型: <!-- [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/ge!804 | 6 个月前 | |
fix: precommit整改 Co-authored-by: yelongjian<yelongjian1@huawei.com> # message auto-generated for no-merge-commit merge: !3726 merge dev-precommit into develop fix: precommit整改 Created-by: yelongjian Commit-by: yelongjian Merged-by: cann-robot Description: # Pull Request ## 描述 precommit整改 ## 变更类型 请选择本次引入的变更类型: <!-- [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/ge!3726 | 3 个月前 | |
【PR】: ge_error_codes.h重命名后修改ge仓引用 Co-authored-by: jikai-tyler<jikai5@huawei.com> # message auto-generated for no-merge-commit merge: !4039 merge ge_errorcode into develop 【PR】: ge_error_codes.h重命名后修改ge仓引用 Created-by: jikai-tyler Commit-by: jikai-tyler Merged-by: cann-robot Description: # Pull Request ## 描述 ge_error_codes.h重命名后修改ge仓引用。 ## 变更类型 请选择本次引入的变更类型: <!-- [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/ge!4039 | 2 个月前 | |
【fix】:优化 shell 脚本 Co-authored-by: kantao1<kantao1@huawei.com> # message auto-generated for no-merge-commit merge: !3434 merge clean_code into develop 【fix】:优化 shell 脚本 Created-by: kantao1 Commit-by: kantao1 Merged-by: cann-robot Description: # Pull Request ## 描述 具体修改的问题点如下: | 文件名 | 行号 | 问题简述 | |--------|------|---------| | build.sh | 273-275 | ${PYTHON_PATH} 未加引号可能导致词分割 | ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [x] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 描述测试此变更的步骤和前提条件: 1. ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如: feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/ge!3434 | 2 个月前 | |
Initial commit | 9 个月前 | |
【PR】: sync master to develop 20260723 Co-authored-by: Archerls<wuhuiyang3@huawei.com> Co-authored-by: jiang-mingming01<jiangmingming16@h-partners.com> Co-authored-by: Feiteng Zheng<zhengfeiteng1@h-partners.com> Co-authored-by: liangxuheng<741015122@qq.com> Co-authored-by: du-hua1024<duhua2@huawei.com> # message auto-generated for no-merge-commit merge: !4121 merge master into develop 【PR】: sync master to develop 20260723 Created-by: zhanj Commit-by: zhanj;zhengfeiteng;Feiteng Zheng;jiang-mingming01;Chang-an-HW;yangyongqiang0606;du-hua1024;liangxuheng;Archerls;jikai-tyler Merged-by: cann-robot Description: # Pull Request ## 描述 sync master to develop 20260723 ## 变更类型 请选择本次引入的变更类型: <!-- [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/ge!4121 | 2 个月前 | |
fix: precommit整改 Co-authored-by: yelongjian<yelongjian1@huawei.com> # message auto-generated for no-merge-commit merge: !3726 merge dev-precommit into develop fix: precommit整改 Created-by: yelongjian Commit-by: yelongjian Merged-by: cann-robot Description: # Pull Request ## 描述 precommit整改 ## 变更类型 请选择本次引入的变更类型: <!-- [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/ge!3726 | 3 个月前 | |
【chore】: 支持Q2工程优化:删除 cce_headers Co-authored-by: zhuhaoran5<zhuhaoran5@huawei.com> Co-authored-by: 叶龙剑<yelongjian1@huawei.com> # message auto-generated for no-merge-commit merge: !3390 merge support_Q2_building_optimization_rm_cce_headers into develop 【chore】: 支持Q2工程优化:删除 cce_headers Created-by: zhuhaoran5 Commit-by: zhuhaoran5;叶龙剑 Merged-by: cann-robot Description: # Pull Request ## 描述 【chore】: 支持Q2工程优化:删除 cce_headers ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [x] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [x] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 描述测试此变更的步骤和前提条件: 按照 README 部署构建环境 执行所有构建场景的脚本命令,能执行成功并且产物包内容与先前一致 ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [ ] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如: feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/ge!3390 | 3 个月前 |
GE(Graph Engine 图引擎)
🔥 Latest News
- [2026/03] 持续增强图优化能力,完善单元测试覆盖,修复多个边缘场景的编译问题;优化文档结构,提升开发者体验。
- [2026/02] 优化自动融合与广播场景支持,新增 BF16 数据类型支持;增强 HostCPU 引擎能力,优化 session 创建销毁锁机制;修复外置权重、线程加载等场景下的 bug;支持 Reduce 分核轴 Store 地址冲突惩罚,提升算子融合效果。
- [2026/01] GE 项目首次上线,开源图编译器和执行器,支持 PyTorch、TensorFlow 前端接入以及 ONNX、PB 模型格式解析与编译。
🚀 概述
GE(Graph Engine)是面向昇腾的图编译器和执行器,提供了计算图优化、多流并行、内存复用和模型下沉等技术手段,加速模型执行效率,减少模型内存占用。 GE 提供对 PyTorch、TensorFlow 前端的友好接入能力,并同时支持 onnx、pb 等主流模型格式的解析与编译。详见昇腾社区文档-图模式开发指南。

⚡️ 快速入门
若希望快速体验 GE 的工作方式及基本开发流程,可参考以下文档:
- 构建验证:介绍组件的完整构建、测试样例运行流程。
- 快速开始:以 ResNet50 模型为例,介绍如何使用 ATC 工具进行模型转换,并在昇腾 AI 处理器上执行推理。
- 快速开始-LLM:以 Qwen 模型为例,介绍如何使用 ATC 工具进行LLM模型转换,并实现LLM模型的加载、执行和获取执行结果等。
📚 文档
如需了解如何使用 GE 进行模型编译与执行,可参见图模式开发指南、技术文章等内容: GE 参考资料
如果希望深入了解 GE 的内部设计、架构机制与开发流程,可参考以下文档:
- GE 架构说明文档:介绍核心组件、执行流程、优化机制等内部原理。
- 贡献指南:说明如何提交 Issue、Pull Request 以及代码规范。
- AI Agent支持:介绍仓内默认使用的一些skills及使用agent辅助开发流程
🌐 生态集成
以下项目已集成 GE 作为推理或图模式后端:
- TorchAir:将 GE 接入 PyTorch 图模式。链接
- TFA(TensorFlow Adapter):将 GE 作为 TensorFlow 后端。链接
- JittorInfer:基于昇腾芯片的大模型 C++ 推理框架。链接
- Triton GE Backend:GE 的 Triton Inference Server 后端。链接
- MindSpore Lite: 将 GE 作为 MindSpore Lite 后端。 链接
说明: 上述列表为已知并对外公开的集成案例,并非完整清单。 若您正在使用 GE,欢迎通过 Issue 或 PR 补充,我们将持续更新相关信息。
📝 其他信息
📝 联系我们
