GE(Graph Engine)是面向昇腾的图编译器和执行器,提供了计算图优化、多流并行、内存复用和模型下沉等技术手段,加速模型执行效率,减少模型内存占用。 GE 提供对 PyTorch、TensorFlow 前端的友好接入能力,并同时支持 onnx、pb 等主流模型格式的解析与编译。
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
feat: 新增 cann-pr-log-check skill,支持对 PR 改动文件一键日志规范检查 Co-authored-by: liyanrong9<liyanrong9@h-partners.com> # message auto-generated for no-merge-commit merge: !4721 merge log_skill_0903 into develop feat: 新增 cann-pr-log-check skill,支持对 PR 改动文件一键日志规范检查 Created-by: liyanrong_9 Commit-by: liyanrong9 Merged-by: cann-robot Description: # Pull Request ## 描述 新增 cann-pr-log-check skill,开发人员提交 PR 后,可一键对变更文件中的日志语句进行日志规范全量检查。规则始终从 cann-log-evaluation 远程拉取最新版本,不本地缓存,确保规则更新后即时生效。检查完成后输出 Markdown 表格和 Excel 报告(带严重级配色和筛选)。 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [x] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 描述测试此变更的步骤和前提条件: 本地agent调用此skill对PR日志进行检查。 ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/ge!4721 | 23 天前 | |
!4674 merge master into master 【PR】: 简要描述 update actions Created-by: wangyunxiang1 Commit-by: wangyunxiang Merged-by: cann-robot Description: # Pull Request ## 描述 请清晰准确地描述本次 Pull Request 的意图和变更内容。 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 描述测试此变更的步骤和前提条件: 1. 2. ## 核对清单 <!-- [x] 表示选中 --> - [ ] 我的代码遵循了项目的代码风格 - [ ] 我已对代码进行了自测 - [ ] 我已更新了相关的文档 - [ ] 我在标题中使用了合适的类型标签(如: feat:, fix:) - [ ] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/ge!4674 | 29 天前 | |
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 个月前 | |
feat: 补充Python自定义算子多版本构建与fallback codegen能力 Co-authored-by: du-hua1024<duhua2@huawei.com> # message auto-generated for no-merge-commit merge: !4767 merge op into develop feat: 补充Python自定义算子多版本构建与fallback codegen能力 Created-by: du-hua1024 Commit-by: du-hua1024 Merged-by: cann-robot Description: # Pull Request ## 描述 本 PR 为 Python 自定义算子(custom op)补齐**多版本构建**与**运行时 fallback codegen** 能力,并统一 pass/runtime/custom_op 三组件的 native artifact 加载机制: **1. Python custom op 多版本构建能力** - build_python_native_matrix.py 泛化为组件化矩阵构建(--component custom_op),复用共享的 Python 探测(PATH/conda、cp39–cp314)、按版本重编译与 wheel 打包逻辑 - CMake 侧新增 custom_op native wheel target、矩阵构建 target 及组件配置(ge_python_write_native_build_config)生成 - 打包脚本(custom_postinst/prerm、ge-compiler_custom_install/uninstall)支持按当前解释器版本安装匹配的 ge_py_custom_op_bridge wheel,并安装到用户 site-packages **2. Python custom op fallback codegen 能力** - gen_fallback_resources.py 组件化:支持 --component pass/runtime/custom_op、--link-python/--no-link-python、bridge/native target 参数化及依赖头文件按原目录层级摆位(nested_subdir) - C++ 侧 bridge loader(python_custom_op_bridge_loader.cc、python_pass_bridge_loader.cc、python_fallback_codegen_helper.h)支持现场编译回退 - 统一共享层:ge/_internal/native_loader.py(新增,加载决策:sys.modules 缓存 → manifest 校验的预置 artifact → fallback codegen → 失败原因聚合诊断);ge/_internal/fallback_runtime.py 以 pass 原版实现为基座承载三组件的公共编译引擎(参数化 abi_key/artifacts/link_python) - 三组件(pass/runtime/custom_op)统一只接受通过 manifest 校验(Python tag、平台 tag、ABI)的 artifact,不再支持无校验的包内裸 import ## 变更类型 - [ ] 🐛 Bug 修复 - [x] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [x] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [x] 📦 构建过程或辅助工具的变动 - [x] 📝 文档内容更新 ## 关联的Issue ## 如何测试 1. 全量 UT、ST passed 2. example不受Python版本限制 ## 核对清单 - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 - 加载语义变更说明:runtime/custom_op 不再尝试包内无校验的 import_module 路径,统一走 manifest 校验,避免加载不匹配版本导致符号崩溃;开发态请使用 artifacts 目录或 fallback codegen - ge_py_install/.installed 测试安装目录的 make 规则无文件级依赖,增量构建时不会自动重装(已在本地验证时通过删除标记规避),后续可单独修复 See merge request: cann/ge!4767 | 22 天前 | |
feat: 补充Python自定义算子多版本构建与fallback codegen能力 Co-authored-by: du-hua1024<duhua2@huawei.com> # message auto-generated for no-merge-commit merge: !4767 merge op into develop feat: 补充Python自定义算子多版本构建与fallback codegen能力 Created-by: du-hua1024 Commit-by: du-hua1024 Merged-by: cann-robot Description: # Pull Request ## 描述 本 PR 为 Python 自定义算子(custom op)补齐**多版本构建**与**运行时 fallback codegen** 能力,并统一 pass/runtime/custom_op 三组件的 native artifact 加载机制: **1. Python custom op 多版本构建能力** - build_python_native_matrix.py 泛化为组件化矩阵构建(--component custom_op),复用共享的 Python 探测(PATH/conda、cp39–cp314)、按版本重编译与 wheel 打包逻辑 - CMake 侧新增 custom_op native wheel target、矩阵构建 target 及组件配置(ge_python_write_native_build_config)生成 - 打包脚本(custom_postinst/prerm、ge-compiler_custom_install/uninstall)支持按当前解释器版本安装匹配的 ge_py_custom_op_bridge wheel,并安装到用户 site-packages **2. Python custom op fallback codegen 能力** - gen_fallback_resources.py 组件化:支持 --component pass/runtime/custom_op、--link-python/--no-link-python、bridge/native target 参数化及依赖头文件按原目录层级摆位(nested_subdir) - C++ 侧 bridge loader(python_custom_op_bridge_loader.cc、python_pass_bridge_loader.cc、python_fallback_codegen_helper.h)支持现场编译回退 - 统一共享层:ge/_internal/native_loader.py(新增,加载决策:sys.modules 缓存 → manifest 校验的预置 artifact → fallback codegen → 失败原因聚合诊断);ge/_internal/fallback_runtime.py 以 pass 原版实现为基座承载三组件的公共编译引擎(参数化 abi_key/artifacts/link_python) - 三组件(pass/runtime/custom_op)统一只接受通过 manifest 校验(Python tag、平台 tag、ABI)的 artifact,不再支持无校验的包内裸 import ## 变更类型 - [ ] 🐛 Bug 修复 - [x] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [x] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [x] 📦 构建过程或辅助工具的变动 - [x] 📝 文档内容更新 ## 关联的Issue ## 如何测试 1. 全量 UT、ST passed 2. example不受Python版本限制 ## 核对清单 - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 - 加载语义变更说明:runtime/custom_op 不再尝试包内无校验的 import_module 路径,统一走 manifest 校验,避免加载不匹配版本导致符号崩溃;开发态请使用 artifacts 目录或 fallback codegen - ge_py_install/.installed 测试安装目录的 make 规则无文件级依赖,增量构建时不会自动重装(已在本地验证时通过删除标记规避),后续可单独修复 See merge request: cann/ge!4767 | 22 天前 | |
feat: 补充Python自定义算子多版本构建与fallback codegen能力 Co-authored-by: du-hua1024<duhua2@huawei.com> # message auto-generated for no-merge-commit merge: !4767 merge op into develop feat: 补充Python自定义算子多版本构建与fallback codegen能力 Created-by: du-hua1024 Commit-by: du-hua1024 Merged-by: cann-robot Description: # Pull Request ## 描述 本 PR 为 Python 自定义算子(custom op)补齐**多版本构建**与**运行时 fallback codegen** 能力,并统一 pass/runtime/custom_op 三组件的 native artifact 加载机制: **1. Python custom op 多版本构建能力** - build_python_native_matrix.py 泛化为组件化矩阵构建(--component custom_op),复用共享的 Python 探测(PATH/conda、cp39–cp314)、按版本重编译与 wheel 打包逻辑 - CMake 侧新增 custom_op native wheel target、矩阵构建 target 及组件配置(ge_python_write_native_build_config)生成 - 打包脚本(custom_postinst/prerm、ge-compiler_custom_install/uninstall)支持按当前解释器版本安装匹配的 ge_py_custom_op_bridge wheel,并安装到用户 site-packages **2. Python custom op fallback codegen 能力** - gen_fallback_resources.py 组件化:支持 --component pass/runtime/custom_op、--link-python/--no-link-python、bridge/native target 参数化及依赖头文件按原目录层级摆位(nested_subdir) - C++ 侧 bridge loader(python_custom_op_bridge_loader.cc、python_pass_bridge_loader.cc、python_fallback_codegen_helper.h)支持现场编译回退 - 统一共享层:ge/_internal/native_loader.py(新增,加载决策:sys.modules 缓存 → manifest 校验的预置 artifact → fallback codegen → 失败原因聚合诊断);ge/_internal/fallback_runtime.py 以 pass 原版实现为基座承载三组件的公共编译引擎(参数化 abi_key/artifacts/link_python) - 三组件(pass/runtime/custom_op)统一只接受通过 manifest 校验(Python tag、平台 tag、ABI)的 artifact,不再支持无校验的包内裸 import ## 变更类型 - [ ] 🐛 Bug 修复 - [x] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [x] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [x] 📦 构建过程或辅助工具的变动 - [x] 📝 文档内容更新 ## 关联的Issue ## 如何测试 1. 全量 UT、ST passed 2. example不受Python版本限制 ## 核对清单 - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 - 加载语义变更说明:runtime/custom_op 不再尝试包内无校验的 import_module 路径,统一走 manifest 校验,避免加载不匹配版本导致符号崩溃;开发态请使用 artifacts 目录或 fallback codegen - ge_py_install/.installed 测试安装目录的 make 规则无文件级依赖,增量构建时不会自动重装(已在本地验证时通过删除标记规避),后续可单独修复 See merge request: cann/ge!4767 | 22 天前 | |
【PR】: 代码规范优化 - 精确头文件引用、const修饰、全局对象初始化顺序修复 1. mem_assigner.h: 替换冗余include为精确头文件引用 2. variable_op_pass: DealFusion/CheckVariableRefLegally添加const修饰 3. parser_model_saver.h: 替换废弃头文件为精确引用 4. reshape_remove_pass.cc: 全局对象改为construct on first use惯用法 5. task_producer.h: 替换废弃ge_api_types.h为精确头文件 | 22 天前 | |
fix:improve log usability-0907 Co-authored-by: m0_50621083<hongyuecheng@huawei.com> # message auto-generated for no-merge-commit merge: !4771 merge CANN-log-evaluation-develop-0907 into develop fix:improve log usability-0907 Created-by: m0_50621083 Commit-by: m0_50621083 Merged-by: cann-robot Description: # Pull Request ## 描述 本次提交基于 CANN 日志易用性评测结果,对 GE 仓库 develop 分支中的日志文案进行整改。 本次整改排除了提示级问题,以及 om2/engines/tests/api/atc/graph_eager 等禁改目录和已确认不需要修改的工具、生成代码文件。最终共修改 15 个文件,覆盖 Excel 中 27 条问题,不涉及业务逻辑、控制流或算法变更。 ### 1. 致命 - 级别错配(2 处) - examples/fusion_pass/.../tf_forward.py:36 和 :78 - INFO 级日志中含跨级别词 error,改为中性描述 diff ### 2. 严重 - 拼写错误(22处,10个文件) | 修正前 | 修正后 | |--------|--------| | shoulde | should | | subsequenet | subsequent | | indice | indices | | parmas | params | | scheding | scheduling | | rang | range | | tenser | tensor | | transfer-ing | transfer | ### 3. 一般 - 禁止自定义打印 / 缺少度量单位 / 语法错误 - 将 print() / std::cout / printf 改为项目统一日志接口(GELOGI/GELOGE/logging),保留原文案语义 - 为内存/容量数值补充单位(如 size:500 → size:500 MB) - 修正重复单词(value value → value) ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新功能 - [x] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue 无。 <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 描述测试此变更的步骤和前提条件: 1. 运行项目 pre-commit 检查,确认格式、拼写和合规检查通过。 2. 运行 PR 编译及 UT/ST 流水线,确认相关门禁通过。 3. 检查代码差异,确认仅修改日志文案,不涉及业务逻辑、控制流和算法。 ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [ ] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 本次整改仅修改日志文案与日志输出接口,不改变任何业务逻辑、控制流、算法。 See merge request: cann/ge!4771 | 23 天前 | |
feat: 补充Python自定义算子多版本构建与fallback codegen能力 Co-authored-by: du-hua1024<duhua2@huawei.com> # message auto-generated for no-merge-commit merge: !4767 merge op into develop feat: 补充Python自定义算子多版本构建与fallback codegen能力 Created-by: du-hua1024 Commit-by: du-hua1024 Merged-by: cann-robot Description: # Pull Request ## 描述 本 PR 为 Python 自定义算子(custom op)补齐**多版本构建**与**运行时 fallback codegen** 能力,并统一 pass/runtime/custom_op 三组件的 native artifact 加载机制: **1. Python custom op 多版本构建能力** - build_python_native_matrix.py 泛化为组件化矩阵构建(--component custom_op),复用共享的 Python 探测(PATH/conda、cp39–cp314)、按版本重编译与 wheel 打包逻辑 - CMake 侧新增 custom_op native wheel target、矩阵构建 target 及组件配置(ge_python_write_native_build_config)生成 - 打包脚本(custom_postinst/prerm、ge-compiler_custom_install/uninstall)支持按当前解释器版本安装匹配的 ge_py_custom_op_bridge wheel,并安装到用户 site-packages **2. Python custom op fallback codegen 能力** - gen_fallback_resources.py 组件化:支持 --component pass/runtime/custom_op、--link-python/--no-link-python、bridge/native target 参数化及依赖头文件按原目录层级摆位(nested_subdir) - C++ 侧 bridge loader(python_custom_op_bridge_loader.cc、python_pass_bridge_loader.cc、python_fallback_codegen_helper.h)支持现场编译回退 - 统一共享层:ge/_internal/native_loader.py(新增,加载决策:sys.modules 缓存 → manifest 校验的预置 artifact → fallback codegen → 失败原因聚合诊断);ge/_internal/fallback_runtime.py 以 pass 原版实现为基座承载三组件的公共编译引擎(参数化 abi_key/artifacts/link_python) - 三组件(pass/runtime/custom_op)统一只接受通过 manifest 校验(Python tag、平台 tag、ABI)的 artifact,不再支持无校验的包内裸 import ## 变更类型 - [ ] 🐛 Bug 修复 - [x] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [x] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [x] 📦 构建过程或辅助工具的变动 - [x] 📝 文档内容更新 ## 关联的Issue ## 如何测试 1. 全量 UT、ST passed 2. example不受Python版本限制 ## 核对清单 - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 - 加载语义变更说明:runtime/custom_op 不再尝试包内无校验的 import_module 路径,统一走 manifest 校验,避免加载不匹配版本导致符号崩溃;开发态请使用 artifacts 目录或 fallback codegen - ge_py_install/.installed 测试安装目录的 make 规则无文件级依赖,增量构建时不会自动重装(已在本地验证时通过删除标记规避),后续可单独修复 See merge request: cann/ge!4767 | 22 天前 | |
refactor: 统一多流接口参数、可见性声明和示例文件头 Co-authored-by: KenChow<zhouchen53@huawei.com> # message auto-generated for no-merge-commit merge: !4827 merge refactor-step-recorder-visibility into develop refactor: 统一多流接口参数、可见性声明和示例文件头 Created-by: KenChow Commit-by: KenChow Merged-by: cann-robot Description: # Pull Request ## 描述 统一多流相关接口的参数限定符和可见性声明,并统一示例 Python 脚本文件头。 - StreamUtils::ParseAutoMultistreamParallelMode 的 from_graph、CoreNumUtils::FillCoreNumOptions 的两项核数参数,以及 StepScope 构造函数、Stop、Record 的按值参数,定义统一去掉顶层 const,与头文件声明一致。保留 const char *site 和 const std::string &mode 的只读语义;调用方用于接收配置来源的 bool from_graph 保持可写。 - step_recorder 使用 common/ge_visibility.h 的 VISIBILITY_EXPORT,移除仅为获取可见性宏而包含的对外错误码头。前向声明的可见性宏同步替换。 - 统一 examples/ 下三个 Python 脚本的 shebang、编码声明及许可证块格式。 ## 变更类型 - [x] 💄 代码风格更新 - [x] ♻️ 重构 ## 如何测试 - 本次变更的三个代码文件已通过本地 pre-commit 检查,包括 clang-format、codespell 和 OAT。 - 五处接口的声明与定义参数列表一致性检查通过;源文件差异检查确认仅删除顶层 const,函数体逻辑不变。 - StepScope 头文件独立编译检查通过:g++ -std=c++14 -Wall -Wextra -Werror -fsyntax-only -I inc/framework -I runtime/v1,覆盖构造与 Stop 调用。 - 前两次提交的文件已通过此前本地 pre-commit 检查;完整编译及 UT/ST 回归由重新触发的 CI 验证。 ## 风险与兼容性影响 按值参数的顶层 const 调整不改变函数类型或 ABI。site 指向内容和 mode 引用的只读语义保持不变;核数配置、模式解析及打点行为保持不变。 davinci_executor 中两个可见性宏的导出效果一致;未定义 FUNC_VISIBILITY 的消费方现在显式声明 default visibility。Python 文件仅修改注释行。 See merge request: cann/ge!4827 | 22 天前 | |
refactor: 统一多流接口参数、可见性声明和示例文件头 Co-authored-by: KenChow<zhouchen53@huawei.com> # message auto-generated for no-merge-commit merge: !4827 merge refactor-step-recorder-visibility into develop refactor: 统一多流接口参数、可见性声明和示例文件头 Created-by: KenChow Commit-by: KenChow Merged-by: cann-robot Description: # Pull Request ## 描述 统一多流相关接口的参数限定符和可见性声明,并统一示例 Python 脚本文件头。 - StreamUtils::ParseAutoMultistreamParallelMode 的 from_graph、CoreNumUtils::FillCoreNumOptions 的两项核数参数,以及 StepScope 构造函数、Stop、Record 的按值参数,定义统一去掉顶层 const,与头文件声明一致。保留 const char *site 和 const std::string &mode 的只读语义;调用方用于接收配置来源的 bool from_graph 保持可写。 - step_recorder 使用 common/ge_visibility.h 的 VISIBILITY_EXPORT,移除仅为获取可见性宏而包含的对外错误码头。前向声明的可见性宏同步替换。 - 统一 examples/ 下三个 Python 脚本的 shebang、编码声明及许可证块格式。 ## 变更类型 - [x] 💄 代码风格更新 - [x] ♻️ 重构 ## 如何测试 - 本次变更的三个代码文件已通过本地 pre-commit 检查,包括 clang-format、codespell 和 OAT。 - 五处接口的声明与定义参数列表一致性检查通过;源文件差异检查确认仅删除顶层 const,函数体逻辑不变。 - StepScope 头文件独立编译检查通过:g++ -std=c++14 -Wall -Wextra -Werror -fsyntax-only -I inc/framework -I runtime/v1,覆盖构造与 Stop 调用。 - 前两次提交的文件已通过此前本地 pre-commit 检查;完整编译及 UT/ST 回归由重新触发的 CI 验证。 ## 风险与兼容性影响 按值参数的顶层 const 调整不改变函数类型或 ABI。site 指向内容和 mode 引用的只读语义保持不变;核数配置、模式解析及打点行为保持不变。 davinci_executor 中两个可见性宏的导出效果一致;未定义 FUNC_VISIBILITY 的消费方现在显式声明 default visibility。Python 文件仅修改注释行。 See merge request: cann/ge!4827 | 22 天前 | |
fix: SwitchStmt::Create 增加 cond 判空并补充 OM2 接口入参 const 修饰 Co-authored-by: lidaoming1<lidaoming1@huawei.com> # message auto-generated for no-merge-commit merge: !4830 merge om2_cleancode_fix into develop fix: SwitchStmt::Create 增加 cond 判空并补充 OM2 接口入参 const 修饰 Created-by: lidaoming1 Commit-by: lidaoming1 Merged-by: cann-robot Description: ## 描述 OM2 代码清理: 1. SwitchStmt::Create 对 cond 增加 GE_ASSERT_NOTNULL 判空,防止空指针解引用(与相邻 IfStmt::Create/ForStmt::Create 模式一致) 2. MemcpyAsyncTaskCodeBuilder::CheckIoRefresh 入参补充 const 修饰 3. Om2ModelExecutor::SetDynamicAippData 的 length 入参补充 const 修饰 ## 变更类型 - [x] 🐛 Bug 修复 - [x] ♻️ 重构(既不修复错误也不增加功能的代码变动) ## 关联的Issue 无 ## 如何测试 1. 本地 pre-commit 检查(codespell/clang-format/end-of-file-fixer 等)全部通过 2. 依赖 PR 流水线 codecheck/编译验证 ## 核对清单 - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 无 See merge request: cann/ge!4830 | 22 天前 | |
【PR】: 代码规范优化 - 精确头文件引用、const修饰、全局对象初始化顺序修复 1. mem_assigner.h: 替换冗余include为精确头文件引用 2. variable_op_pass: DealFusion/CheckVariableRefLegally添加const修饰 3. parser_model_saver.h: 替换废弃头文件为精确引用 4. reshape_remove_pass.cc: 全局对象改为construct on first use惯用法 5. task_producer.h: 替换废弃ge_api_types.h为精确头文件 | 22 天前 | |
【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 个月前 | |
【PR】: 代码规范优化 - 精确头文件引用、const修饰、全局对象初始化顺序修复 1. mem_assigner.h: 替换冗余include为精确头文件引用 2. variable_op_pass: DealFusion/CheckVariableRefLegally添加const修饰 3. parser_model_saver.h: 替换废弃头文件为精确引用 4. reshape_remove_pass.cc: 全局对象改为construct on first use惯用法 5. task_producer.h: 替换废弃ge_api_types.h为精确头文件 | 22 天前 | |
feat: 补充Python自定义算子多版本构建与fallback codegen能力 Co-authored-by: du-hua1024<duhua2@huawei.com> # message auto-generated for no-merge-commit merge: !4767 merge op into develop feat: 补充Python自定义算子多版本构建与fallback codegen能力 Created-by: du-hua1024 Commit-by: du-hua1024 Merged-by: cann-robot Description: # Pull Request ## 描述 本 PR 为 Python 自定义算子(custom op)补齐**多版本构建**与**运行时 fallback codegen** 能力,并统一 pass/runtime/custom_op 三组件的 native artifact 加载机制: **1. Python custom op 多版本构建能力** - build_python_native_matrix.py 泛化为组件化矩阵构建(--component custom_op),复用共享的 Python 探测(PATH/conda、cp39–cp314)、按版本重编译与 wheel 打包逻辑 - CMake 侧新增 custom_op native wheel target、矩阵构建 target 及组件配置(ge_python_write_native_build_config)生成 - 打包脚本(custom_postinst/prerm、ge-compiler_custom_install/uninstall)支持按当前解释器版本安装匹配的 ge_py_custom_op_bridge wheel,并安装到用户 site-packages **2. Python custom op fallback codegen 能力** - gen_fallback_resources.py 组件化:支持 --component pass/runtime/custom_op、--link-python/--no-link-python、bridge/native target 参数化及依赖头文件按原目录层级摆位(nested_subdir) - C++ 侧 bridge loader(python_custom_op_bridge_loader.cc、python_pass_bridge_loader.cc、python_fallback_codegen_helper.h)支持现场编译回退 - 统一共享层:ge/_internal/native_loader.py(新增,加载决策:sys.modules 缓存 → manifest 校验的预置 artifact → fallback codegen → 失败原因聚合诊断);ge/_internal/fallback_runtime.py 以 pass 原版实现为基座承载三组件的公共编译引擎(参数化 abi_key/artifacts/link_python) - 三组件(pass/runtime/custom_op)统一只接受通过 manifest 校验(Python tag、平台 tag、ABI)的 artifact,不再支持无校验的包内裸 import ## 变更类型 - [ ] 🐛 Bug 修复 - [x] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [x] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [x] 📦 构建过程或辅助工具的变动 - [x] 📝 文档内容更新 ## 关联的Issue ## 如何测试 1. 全量 UT、ST passed 2. example不受Python版本限制 ## 核对清单 - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 - 加载语义变更说明:runtime/custom_op 不再尝试包内无校验的 import_module 路径,统一走 manifest 校验,避免加载不匹配版本导致符号崩溃;开发态请使用 artifacts 目录或 fallback codegen - ge_py_install/.installed 测试安装目录的 make 规则无文件级依赖,增量构建时不会自动重装(已在本地验证时通过删除标记规避),后续可单独修复 See merge request: cann/ge!4767 | 22 天前 | |
feat: 补充Python自定义算子多版本构建与fallback codegen能力 Co-authored-by: du-hua1024<duhua2@huawei.com> # message auto-generated for no-merge-commit merge: !4767 merge op into develop feat: 补充Python自定义算子多版本构建与fallback codegen能力 Created-by: du-hua1024 Commit-by: du-hua1024 Merged-by: cann-robot Description: # Pull Request ## 描述 本 PR 为 Python 自定义算子(custom op)补齐**多版本构建**与**运行时 fallback codegen** 能力,并统一 pass/runtime/custom_op 三组件的 native artifact 加载机制: **1. Python custom op 多版本构建能力** - build_python_native_matrix.py 泛化为组件化矩阵构建(--component custom_op),复用共享的 Python 探测(PATH/conda、cp39–cp314)、按版本重编译与 wheel 打包逻辑 - CMake 侧新增 custom_op native wheel target、矩阵构建 target 及组件配置(ge_python_write_native_build_config)生成 - 打包脚本(custom_postinst/prerm、ge-compiler_custom_install/uninstall)支持按当前解释器版本安装匹配的 ge_py_custom_op_bridge wheel,并安装到用户 site-packages **2. Python custom op fallback codegen 能力** - gen_fallback_resources.py 组件化:支持 --component pass/runtime/custom_op、--link-python/--no-link-python、bridge/native target 参数化及依赖头文件按原目录层级摆位(nested_subdir) - C++ 侧 bridge loader(python_custom_op_bridge_loader.cc、python_pass_bridge_loader.cc、python_fallback_codegen_helper.h)支持现场编译回退 - 统一共享层:ge/_internal/native_loader.py(新增,加载决策:sys.modules 缓存 → manifest 校验的预置 artifact → fallback codegen → 失败原因聚合诊断);ge/_internal/fallback_runtime.py 以 pass 原版实现为基座承载三组件的公共编译引擎(参数化 abi_key/artifacts/link_python) - 三组件(pass/runtime/custom_op)统一只接受通过 manifest 校验(Python tag、平台 tag、ABI)的 artifact,不再支持无校验的包内裸 import ## 变更类型 - [ ] 🐛 Bug 修复 - [x] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [x] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [x] 📦 构建过程或辅助工具的变动 - [x] 📝 文档内容更新 ## 关联的Issue ## 如何测试 1. 全量 UT、ST passed 2. example不受Python版本限制 ## 核对清单 - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 - 加载语义变更说明:runtime/custom_op 不再尝试包内无校验的 import_module 路径,统一走 manifest 校验,避免加载不匹配版本导致符号崩溃;开发态请使用 artifacts 目录或 fallback codegen - ge_py_install/.installed 测试安装目录的 make 规则无文件级依赖,增量构建时不会自动重装(已在本地验证时通过删除标记规避),后续可单独修复 See merge request: cann/ge!4767 | 22 天前 | |
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 个月前 | |
refactor: 抽取AtomicMemoryAssigner独立类 Co-authored-by: tangqunzhang<tangqunzhang@huawei.com> # message auto-generated for no-merge-commit merge: !4171 merge refactor/extract-atomic-memory-assigner into develop refactor: 抽取AtomicMemoryAssigner独立类 Created-by: tangqunzhang Commit-by: tangqunzhang Merged-by: cann-robot Description: # Pull Request ## 描述 将GraphMemoryAssigner中的atomic内存分配与清零相关逻辑抽取为独立的AtomicMemoryAssigner类,降低graph_mem_assigner.cc复杂度,提升可维护性。 抽取内容: - atomic_memory_assigner.cc/h:新增文件,包含atomic清零相关的结构体(MemoryOffset、CleanMemInfo、CleanDataTypeValue、AtomicNodeCleanTypeVals)、成员函数(ReAssign、SetAtomicCleanOffset、FilterAtomicNodes、AssignAtomicOutputMemory、AssignFusionAtomicWorkspaceMemory等)及辅助函数 - graph_mem_assigner.cc/h:移除atomic相关函数和结构体,通过atomic_memory_assigner_成员委托调用 - graph_mem_splitter.h:新增GraphMemSplitterPtr类型别名 - 测试用例:适配AtomicMemoryAssigner拆分,封装InitAtomicMemoryAssigner辅助函数 同时补充HCCL算子零拷贝地址刷新判断:IsAddressRefreshable在动态shape静态子图场景认为hccl算子可刷新,统一使用IsHcomNodeNotSupportAddrRefresh的结果。 ## 变更类型 - [x] ♻️ 重构(既不修复错误也不增加功能的代码变动) ## 关联的Issue ## 如何测试 1. 基于develop分支编译ge_compiler 2. 运行graph_mem_assigner_unittest、mem_assigner_unittest等单元测试 3. 运行test_graph_compiler系统测试 ## 核对清单 - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签 - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md) ## 其他信息 与PR #4229(从block_mem_assigner抽取零拷贝及辅助函数)拆分,本PR仅包含atomic内存分配逻辑的抽取。 See merge request: cann/ge!4171 | 1 个月前 | |
fix: 切换 OAT 合规检查仓库 Co-authored-by: yelongjian<yelongjian1@huawei.com> # message auto-generated for no-merge-commit merge: !4693 merge dev-oat0902 into develop fix: 切换 OAT 合规检查仓库 Created-by: yelongjian Commit-by: yelongjian Merged-by: cann-robot Description: ## 描述 将 OAT 合规检查从仓库本地脚本切换为 HiAgent/compliance 远程 pre-commit hook,固定使用 v1.0.5。 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [x] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue 无。 ## 如何测试 1. 运行 pre-commit validate-config,配置解析通过。 2. 推送时远程 Git hooks 检查通过。 ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 无。 See merge request: cann/ge!4693 | 29 天前 | |
feat: 新增 cann-pr-log-check skill,支持对 PR 改动文件一键日志规范检查 Co-authored-by: liyanrong9<liyanrong9@h-partners.com> # message auto-generated for no-merge-commit merge: !4721 merge log_skill_0903 into develop feat: 新增 cann-pr-log-check skill,支持对 PR 改动文件一键日志规范检查 Created-by: liyanrong_9 Commit-by: liyanrong9 Merged-by: cann-robot Description: # Pull Request ## 描述 新增 cann-pr-log-check skill,开发人员提交 PR 后,可一键对变更文件中的日志语句进行日志规范全量检查。规则始终从 cann-log-evaluation 远程拉取最新版本,不本地缓存,确保规则更新后即时生效。检查完成后输出 Markdown 表格和 Excel 报告(带严重级配色和筛选)。 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [x] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 描述测试此变更的步骤和前提条件: 本地agent调用此skill对PR日志进行检查。 ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/ge!4721 | 23 天前 | |
feat: 新增 cann-pr-log-check skill,支持对 PR 改动文件一键日志规范检查 Co-authored-by: liyanrong9<liyanrong9@h-partners.com> # message auto-generated for no-merge-commit merge: !4721 merge log_skill_0903 into develop feat: 新增 cann-pr-log-check skill,支持对 PR 改动文件一键日志规范检查 Created-by: liyanrong_9 Commit-by: liyanrong9 Merged-by: cann-robot Description: # Pull Request ## 描述 新增 cann-pr-log-check skill,开发人员提交 PR 后,可一键对变更文件中的日志语句进行日志规范全量检查。规则始终从 cann-log-evaluation 远程拉取最新版本,不本地缓存,确保规则更新后即时生效。检查完成后输出 Markdown 表格和 Excel 报告(带严重级配色和筛选)。 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [x] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 描述测试此变更的步骤和前提条件: 本地agent调用此skill对PR日志进行检查。 ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/ge!4721 | 23 天前 | |
fix: 修复arm环境下llt编译问题 Co-authored-by: yelongjian<yelongjian1@huawei.com> # message auto-generated for no-merge-commit merge: !4610 merge dev-llt0828 into develop fix: 修复arm环境下llt编译问题 Created-by: yelongjian Commit-by: yelongjian Merged-by: cann-robot Description: 环境 A:Linux arm 环境B:Debian arm | 序号 | 测试分组 | 问题 | 影响环境 | 失败/卡住用例 | 主要现象 | 处理方式 | | --- | --- | --- | --- | --- | --- | --- | | 1 | ge_common | HostCPU JIT 编译 | A、B | HostCpuFusionPassTest.CompilesGeneratedSourceAndRejectsInvalidSource | ARM 调用 x86_64-linux-gnu-g++,退出码 127 | **已处理,已验证**:ARM64 跳过 | | 2 | ge_common | Eager 历史代码生成 | A | EsMainUt.ExecuteGeneration_ExtractHistoryWithEmptyVersion | asc_dumper 运行时 abort,曾报 libunified_dlog.so 加载失败 | **已处理,已验证**:ARM64 跳过 | | 3 | ge_rt | DVPP SQE Launch Mock | A、B | generate_sqe_and_launch_task_001~006 | 测试卡住或 CTest 超时 | **已处理,已验证**:ARM64 跳过 6 个 | | 4 | ge_rt | DVPP Workspace Mock | A、B | CalcOpWorkSpaceSize_001~003 | stack smashing detected,进程 abort | **已处理,已验证**:ARM64 跳过 3 个 | | 5 | ge_common | OpsKernelBuilderRegistry 泄漏 | A、B | IncCov_DestructorUnregisterWarning_Test | ASAN 报告 16 字节泄漏,导致 ut_register 失败 | **已处理,已验证**:ARM64 跳过 | | 6 | dflow | libge_runner_v2.so 符号缺失 | A、B | ut_libge_helper_utest、ut_llm_engine_utest | 动态链接时报 undefined symbol: SymbolicInferUtil::GetValueDependentInputIdxs | **已处理,已验证**:DFlow CTest 前补建相关目标,A、B 均不再复现 | | 7 | dflow | FunctionCompile 测试资源类型未适配 ARM | A、B | FunctionCompileTest.FunctionPpCompile、FunctionCompileTest.CompileAllResourceTypeFailed | ARM 实际使用 {Ascend, Aarch},测试硬编码 {Ascend, X86} | **已处理,已验证**:ARM64 跳过两个用例 | | 8 | 构建 | protobuf 生成头文件依赖缺失 | A、B | AIR 的 select_targets 构建 | 重新编译 fe_gentask_utils.cc 时找不到 proto/task.pb.h | **已处理,已验证**:在 tests/engines/CMakeLists.txt 中仅对 Engine LLT 的 aicore_utils 补充 graphengine_protos 依赖和头文件路径 | | 9 | 构建 | CMake 增量重配置未加载 CANN CMake 函数 | A、B | tests/run_test.sh --ut 的 build_ut 配置 | 第二次 cmake .. 时 generate_cann_protobuf 未定义 | **已处理,已验证**:不修改全局 fetch_cann_cmake.cmake;新版本 CMake 使用 --fresh,旧版本仅清理 CMakeCache.txt 和 CMakeFiles 后重新配置 | | 10 | 构建 | AIR aicore_utils 链接库路径缺失 | A、B | AIR 的 aicore_utils | -lgraph、-lregister 无法解析 | **已处理,已验证**:显式解析 toolkit 库路径 | | 11 | ge_common | RangeAxis UT 使用未初始化 c0 | B | 5 个 RANGE_AXIS_UTIL_UTEST 用例 | 未初始化 c0 在 B 上为 0 | **已处理,已验证**:初始化 c0 = 1 | | 12 | ge_common | ModelHelper ARM64 运行时崩溃 | B | UtestModelHelperMisc.CheckOsCpuInfoAndOppVersion_NeedCheck | asc_dumper 缺少依赖后触发 ASAN SEGV | **已处理,已验证**:ARM64 跳过 | | 13 | T.E. Fusion | 多个 AIR 目标链接库缺失 | A、B | T.E. Fusion AIR 构建中的多个目标 | -lgraph_base、-llowering、-lgraph 等链接错误 | **已处理,已验证**:B 独立拷贝 302 个 UT 全部通过,已恢复默认执行 | | 14 | CPU Engine UT | 测试 stub/用例定义未同步 | A、B | CPU Engine UT 编译和链接 | stub 常量、命名空间及 ACL/AICPU 符号缺失 | **已处理,已验证**:本地 13/98/113 个测试分别通过,修改已同步 A、B | | 15 | FFTS UT | 测试变量拼写错误 | A、B | ffts_ut 编译 | nofity 未声明 | **已处理,已验证**:修正为 notify | | 16 | FFTS UT | 测试访问空任务导致 core dump | A、B | 4 个任务生成用例 | tasks 为空时访问 tasks[0] | **已处理,已验证**:统一跳过 4 个用例 | | 17 | FFTS UT | ARM 任务生成/校验用例断言失败 | A、B | 10 个任务生成/校验用例 | 实际返回值与测试期望不一致 | **已处理,已验证**:ARM64 跳过 10 个用例 | | 18 | FFTS UT | 非法插件句柄导致 core dump | A、B | PluginManagerUTEST.Close_Handle_Fail_2 | 对栈变量地址调用 dlclose 触发 SIGSEGV | **已处理,已验证**:ARM64 跳过 | | 19 | LLT 构建流程 | 测试阶段误进入发布包安装 | A、B | build_fwk.sh、scripts/build.sh 的 LLT 构建 | package 规则检查不存在的 target | **已处理,已验证**:LLT 不执行安装,CMake 不加载 package 规则 | | 20 | RTS UT | 测试 CMake 源文件、目标依赖及运行库路径未随构建模式调整 | A、B | rts_engine_utest 配置、编译和执行 | 旧源码路径、运行时声明、select_targets 依赖及 Release 运行时 gtest 路径缺失 | **已处理,已验证**:更新 RTS UT 源文件和头文件路径,补充 rts_ut 目标依赖及 gtest rpath;本地清理 build/ 后 67 个用例中 66 个通过、1 个跳过 | | 21 | RTS UT | CmoAddr 用例依赖环境 Chip type | A、B | RtsEngineOpTest.CmoAddrOpTest | 返回环境相关错误码 507008,与固定期望不一致 | **已处理,已验证**:全架构跳过,本地 67 个用例中 66 个通过、1 个跳过 | | 22 | RTS UT | MemcpyAsyncOp.Notiling_01 未设置运行时数据内存容量 | A | MemcpyAsyncOp.Notiling_01 | tensor size 为 512、runtime descriptor size 为 1024,offset 均为 1,但 dataMemSize 不足,输入或 descriptor 地址范围校验失败 | **已处理,已本地验证**:值初始化 RunContext 并设置 dataMemSize = 1025;本地 RTS UT 66 个通过、1 个跳过,Notiling_01 通过 | | 23 | HCCE UT/ST 流程 | HCCE 测试代码与当前 HCCL API 版本不兼容 | A、B | hccl_engine_utest、hccl_engine_stest | 测试接口、mock 签名及 runtime stub 与当前实现不一致,无法完成编译 | **当前规避**:从 tests/run_test.sh 全量 UT/ST 流程中注释 HCCE 构建与执行 | See merge request: cann/ge!4610 | 1 个月前 | |
docs: 补充贡献指南中的提交自检清单和GE功能级指引 Co-authored-by: cao qiancheng<220255669@seu.edu.cn> # message auto-generated for no-merge-commit merge: !4152 merge feat/contributing-doc into develop docs: 补充贡献指南中的提交自检清单和GE功能级指引 Created-by: sunsummercqc Commit-by: cao qiancheng Merged-by: cann-robot Description: # Pull Request ## 描述 补充 CONTRIBUTING.md,新增以下章节: 1. **提交前自检清单**:PR 提交前的格式、提交规范、文档要求检查项,以及 CI 门禁说明表,帮助贡献者本地验证避免 CI 失败 2. **GE 功能级贡献指引**:代码目录导航、改动场景→约束文档速查表、设计文档要求、测试要求表、通用编码红线摘要 ## 变更类型 - [ ] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [x] 📝 文档内容更新 ## 关联的Issue 无 ## 如何测试 1. 阅读 CONTRIBUTING.md,确认新章节格式正确、链接有效 2. 对照新增章节逐项验证:pre-commit 命令是否可执行、CI 门禁表是否完整、目录导航是否准确 ## 核对清单 - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如: feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定 ## 其他信息 修改仅涉及 CONTRIBUTING.md 单一文件,不影响代码逻辑。新增内容整合了 GE 仓库已有的分散文档(precommit_guide.md、coding_red_lines.md、架构设计文档等),作为贡献者的一站式入口。 See merge request: cann/ge!4152 | 1 个月前 | |
docs: 补充贡献指南中的提交自检清单和GE功能级指引 Co-authored-by: cao qiancheng<220255669@seu.edu.cn> # message auto-generated for no-merge-commit merge: !4152 merge feat/contributing-doc into develop docs: 补充贡献指南中的提交自检清单和GE功能级指引 Created-by: sunsummercqc Commit-by: cao qiancheng Merged-by: cann-robot Description: # Pull Request ## 描述 补充 CONTRIBUTING.md,新增以下章节: 1. **提交前自检清单**:PR 提交前的格式、提交规范、文档要求检查项,以及 CI 门禁说明表,帮助贡献者本地验证避免 CI 失败 2. **GE 功能级贡献指引**:代码目录导航、改动场景→约束文档速查表、设计文档要求、测试要求表、通用编码红线摘要 ## 变更类型 - [ ] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [x] 📝 文档内容更新 ## 关联的Issue 无 ## 如何测试 1. 阅读 CONTRIBUTING.md,确认新章节格式正确、链接有效 2. 对照新增章节逐项验证:pre-commit 命令是否可执行、CI 门禁表是否完整、目录导航是否准确 ## 核对清单 - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如: feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定 ## 其他信息 修改仅涉及 CONTRIBUTING.md 单一文件,不影响代码逻辑。新增内容整合了 GE 仓库已有的分散文档(precommit_guide.md、coding_red_lines.md、架构设计文档等),作为贡献者的一站式入口。 See merge request: cann/ge!4152 | 1 个月前 | |
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】: 新增中英文跳转链接 Co-authored-by: sophia1213<sophie.chen@huawei.com> # message auto-generated for no-merge-commit merge: !4750 merge develop into develop 【PR】: 新增中英文跳转链接 Created-by: sophia1213 Commit-by: sophia1213 Merged-by: cann-robot Description: # Pull Request ## 描述 RAEDME以及一级文件夹根目录添加中英文跳转链接。 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [x] 📝 文档内容更新 ## 关联的Issue 不涉及 ## 如何测试 根据最新资料进行测试 ## 核对清单 <!-- [x] 表示选中 --> - [ ] 我的代码遵循了项目的代码风格 - [ ] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [ ] 我在标题中使用了合适的类型标签(如: feat:, fix:) - [ ] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/ge!4750 | 24 天前 | |
【PR】: 新增中英文跳转链接 Co-authored-by: sophia1213<sophie.chen@huawei.com> # message auto-generated for no-merge-commit merge: !4750 merge develop into develop 【PR】: 新增中英文跳转链接 Created-by: sophia1213 Commit-by: sophia1213 Merged-by: cann-robot Description: # Pull Request ## 描述 RAEDME以及一级文件夹根目录添加中英文跳转链接。 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [x] 📝 文档内容更新 ## 关联的Issue 不涉及 ## 如何测试 根据最新资料进行测试 ## 核对清单 <!-- [x] 表示选中 --> - [ ] 我的代码遵循了项目的代码风格 - [ ] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [ ] 我在标题中使用了合适的类型标签(如: feat:, fix:) - [ ] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/ge!4750 | 24 天前 | |
【feat】: upgrade json to v3.12.0 Co-authored-by: kantao1<kantao1@huawei.com> # message auto-generated for no-merge-commit merge: !4283 merge upgrade_json into develop 【feat】: upgrade json to v3.12.0 Created-by: kantao1 Commit-by: kantao1 Merged-by: cann-robot Description: # Pull Request ## 描述 1. 将 json 升级到 v3.12.0 以及修改相关的文档、脚本 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [x] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 描述测试此变更的步骤和前提条件: 1. DT 验证即可 ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如: feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/ge!4283 | 1 个月前 | |
【feat】: upgrade json to v3.12.0 Co-authored-by: kantao1<kantao1@huawei.com> # message auto-generated for no-merge-commit merge: !4283 merge upgrade_json into develop 【feat】: upgrade json to v3.12.0 Created-by: kantao1 Commit-by: kantao1 Merged-by: cann-robot Description: # Pull Request ## 描述 1. 将 json 升级到 v3.12.0 以及修改相关的文档、脚本 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [x] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 描述测试此变更的步骤和前提条件: 1. DT 验证即可 ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如: feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/ge!4283 | 1 个月前 | |
【feat】: upgrade json to v3.12.0 Co-authored-by: kantao1<kantao1@huawei.com> # message auto-generated for no-merge-commit merge: !4283 merge upgrade_json into develop 【feat】: upgrade json to v3.12.0 Created-by: kantao1 Commit-by: kantao1 Merged-by: cann-robot Description: # Pull Request ## 描述 1. 将 json 升级到 v3.12.0 以及修改相关的文档、脚本 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [x] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 描述测试此变更的步骤和前提条件: 1. DT 验证即可 ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如: feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/ge!4283 | 1 个月前 | |
【feat】: upgrade json to v3.12.0 Co-authored-by: kantao1<kantao1@huawei.com> # message auto-generated for no-merge-commit merge: !4283 merge upgrade_json into develop 【feat】: upgrade json to v3.12.0 Created-by: kantao1 Commit-by: kantao1 Merged-by: cann-robot Description: # Pull Request ## 描述 1. 将 json 升级到 v3.12.0 以及修改相关的文档、脚本 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [x] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 描述测试此变更的步骤和前提条件: 1. DT 验证即可 ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如: feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/ge!4283 | 1 个月前 | |
refactor: dflow session/compiler/executor 目录结构调整到 runner 平级目录 Co-authored-by: lining23666<lining.li@huawei.com> # message auto-generated for no-merge-commit merge: !4263 merge dflow into develop refactor: dflow session/compiler/executor 目录结构调整到 runner 平级目录 Created-by: lining23666 Commit-by: lining23666 Merged-by: cann-robot Description: ## 描述 将 dflow 的 session、compiler、executor 三个目录统一移入 dflow/runner/ 下,使 session 与 compiler、executor 处于平行层级。编译产物 libdflow_runner.so 输出到 dflow/runner/ 目录,目录结构与编译结果对应。 **调整前**: dflow/ ├── compiler/ ← 编译层(含 session 子目录) │ ├── CMakeLists.txt ← dflow_runner 编译定义 │ ├── data_flow_graph/ │ ├── model/ │ ├── pne/ │ └── session/ ← session 原在此 ├── executor/ ← 执行层 ├── deployer/ ├── ... **调整后**: dflow/ ├── runner/ ← 新建,dflow_runner 编译入口 │ ├── CMakeLists.txt ← dflow_runner 编译定义 │ ├── compiler/ ← 编译层 │ ├── executor/ ← 执行层 │ └── session/ ← session 层(与 compiler/executor 平级) ├── deployer/ ├── ... ## 变更类型 - [x] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [x] 📦 构建过程或辅助工具的变动 ## 关联的Issue ## 如何测试 1. 增量编译 dflow_runner 目标,确认 libdflow_runner.so 输出到 dflow/runner/ 目录 2. 确认所有 #include 路径正确解析 3. 确认 pre-commit 检查全部通过 ## 核对清单 - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 - 涉及 112 个文件变更(目录 rename + include 路径更新) - 编译验证通过:libdflow_runner.so 正确输出到 cmake-build-gcov/dflow/runner/libdflow_runner.so - 文档同步更新:docs/zh/design/modules/dflow/dflow.md、docs/en/design/modules/dflow/dflow.md、blacklist.txt See merge request: cann/ge!4263 | 1 个月前 | |
refactor: unify CXX11 ABI configuration Co-authored-by: yelongjian<yelongjian1@huawei.com> # message auto-generated for no-merge-commit merge: !4540 merge dev-abi0825 into develop refactor: unify CXX11 ABI configuration Created-by: yelongjian Commit-by: yelongjian Merged-by: cann-robot Description: # Pull Request ## 描述 ABI参数设置收归cann-cmake ## 变更类型 请选择本次引入的变更类型: <!-- [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!4540 | 1 个月前 | |
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 个月前 | |
fix: update GE version to 9.2.0 Co-authored-by: yelongjian<yelongjian1@huawei.com> # message auto-generated for no-merge-commit merge: !4199 merge fix-ge-version-9.2.0 into develop fix: update GE version to 9.2.0 Created-by: yelongjian Commit-by: yelongjian Merged-by: cann-robot Description: Updates the GE package versions and build dependencies to 9.2. See merge request: cann/ge!4199 | 2 个月前 |
GE(Graph Engine 图引擎)
简体中文 | English
🔥 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 补充,我们将持续更新相关信息。
📝 其他信息
📝 联系我们
