GE(Graph Engine)是面向昇腾的图编译器和执行器,提供了计算图优化、多流并行、内存复用和模型下沉等技术手段,加速模型执行效率,减少模型内存占用。 GE 提供对 PyTorch、TensorFlow 前端的友好接入能力,并同时支持 onnx、pb 等主流模型格式的解析与编译。
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
test: add om2 abi compatibility guard Co-authored-by: zhangfan_hq<tonhi.zhangfan@huawei.com> # message auto-generated for no-merge-commit merge: !4931 merge feat/om2-abi-compat-guard-clean into develop test: add om2 abi compatibility guard Created-by: zhangfan_hanq Commit-by: zhangfan_hq Merged-by: cann-robot Description: # Pull Request ## 描述 为 OM2 SO 与 Executor 的 C ABI 增加兼容规则、跨代理开发 skill,以及累计式结构体布局和枚举取值兼容性 UT。 ## 变更类型 - [ ] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的变动) - [x] 📦 构建过程或辅助工具的变动 - [x] 📝 文档内容更新 ## 关联的Issue 无。 ## 如何测试 1. 独立编译并运行 Om2AbiStructCompatibility.*:Om2AbiEnumCompatibility.*,11/11 通过。 2. 对本次变更执行 pre-commit,全部通过。 ## 核对清单 - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如:feat:、fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 无。 See merge request: cann/ge!4931 | 1 个月前 | |
去掉set link | 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 个月前 | |
refactor: Python 自定义算子上下文查询接口内部化,部分查询接口改为内部接口 Co-authored-by: du-hua1024<duhua2@huawei.com> # message auto-generated for no-merge-commit merge: !4948 merge op into develop refactor: Python 自定义算子上下文查询接口内部化,部分查询接口改为内部接口 Created-by: du-hua1024 Commit-by: du-hua1024 Merged-by: cann-robot Description: # Pull Request ## 描述 将 Python 自定义算子上下文的查询 input/attr 接口内部化: - EagerOpExecutionContext 的 input/attr 查询绑定改为 _ 前缀内部接口(_get_input_tensor、_get_input_num、_get_required_input_tensor、_get_optional_input_tensor、_get_dynamic_input_num、_get_dynamic_input_tensor、_get_attrs),仅由桥接层 schema-bound 组装逻辑使用;malloc_output_tensor、get_output_tensor、get_stream 等保持公开 - InferMetaContext 的查询绑定(含 _get_dynamic_output_num)同样改为内部接口;该上下文无公开获取途径,不再通过 ge.custom_op 导出 - RuntimeAttrs 为桥接层内部视图,不在公开类型桩中展示 - _ge_custom_op_native.pyi 移除全部内部查询方法,非公开接口不在公开 stub 中展示 - 同步更新桥接层调用点(_bridge.py、_infer_meta.py)、ge.custom_op 导出、UT 断言与 zh/en 设计文档 ## 变更类型 - [x] ♻️ 重构(既不修复错误也不增加功能的代码变动) ## 关联的Issue 无 ## 如何测试 1. pyge 全量 Python UT:772 passed, 1 skipped 2. ST 端到端(graph_engine_test,CustomOpFactoryStTest 全部 14 项):eager 执行、infer_meta(12 类属性)、compilable、annotated args 均通过 ## 核对清单 - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 无 See merge request: cann/ge!4948 | 1 个月前 | |
feat: 自定义算子注册支持 engine and priority,常量折叠适配 Co-authored-by: du-hua1024<duhua2@huawei.com> # message auto-generated for no-merge-commit merge: !4918 merge new into develop feat: 自定义算子注册支持 engine and priority,常量折叠适配 Created-by: du-hua1024 Commit-by: du-hua1024 Merged-by: cann-robot Description: # Pull Request ## 描述 本 PR 主要实现自定义算子按 engine、priority 和 backend 注册/查询/创建,并将其适配到常量折叠 Host CPU 执行路径,同时保留原有注册接口的兼容行为。 主要变更: - 新增 OpRegistrationPriority(kTop / kBottom)、OpEngine,扩展 CustomOpRegistry 的注册、查询、实例创建和能力获取接口,注册维度为 (op_type, engine_type, priority, backend)。 - 扩展 CustomOpFactory 与 CustomOpCreatorRegister,新增带 priority/engine 的 API;默认接口保持使用 engine = OpEngine::kCustom、priority = kTop。 - 新增 REG_OP_WITH_PRIORITY 宏,支持为自定义算子显式指定 backend、priority 和 engine,并保留既有注册宏。 - ConstantFoldingPass::RunOpKernel 优先处理 OpEngine::kHostCpu engine 下的 bottom-priority Host CPU 自定义算子;命中后通过 HostCpuExecuteOp 执行,未命中时回退原有 OpKernelRegistry 路径,创建失败不错误回退。 - 补充 registry priority/engine 及常量折叠执行路径 UT,覆盖注册查询、实例缓存与隔离、非法/重复注册、优先级选择和 legacy kernel 回退行为。 - 辅助修复 stub graph target 体积:将 ge_log.h 从公共头 args_format_desc.h 移到实际使用日志宏的实现文件,减少 Ascend031 tiny.arm runtime 包中 libgraph.so 的链接依赖。 ## 变更类型 - [ ] 🐛 Bug 修复 - [x] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue 无 ## 如何测试 1. 新增的 custom-op registry 与 constant-folding UT 覆盖 engine/priority 注册、实例缓存、优先级选择、执行失败及 legacy kernel 回退场景。 ## 核对清单 - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 See merge request: cann/ge!4918 | 1 个月前 | |
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 | 1 个月前 | |
!4959 merge develop into master 【PR】: sync develop to master 20260914 Created-by: yangyongqiang0606 Commit-by: du-hua1024;Chang-an-HW;liyanrong_9;lidaoming1;qq_43440783;SeasonChu;chengyutao3;shangdf;zhangfan_hanq;cann-robot;lushiming0;gentle-knight;fary86;wuzheng-hw Merged-by: cann-robot Description: # Pull Request ## 描述 sync develop to master 20260914 ## 变更类型 请选择本次引入的变更类型: <!-- [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!4959 | 1 个月前 | |
fix:improve log usability-0910-1 Co-authored-by: m0_50621083<hongyuecheng@huawei.com> # message auto-generated for no-merge-commit merge: !4893 merge CANN-log-evaluation-develop-0910-1 into develop fix:improve log usability-0910-1 Created-by: m0_50621083 Commit-by: m0_50621083 Merged-by: cann-robot Description: # Pull Request ## 描述 依据日志易用性整改专项(A5日志燎原 / 昇腾&天马日志规范)评审结果,对 GE 日志进行整改,共涉及 21 个文件、25 处日志语句: 1. **失败路径日志级别提升**(7 处):将 7 处失败路径的 INFO 日志提升为 WARNING,避免按级别过滤排障时遗漏失败记录(deploy_planner.cc、dynamic_model_executor.cc、ops_parallel_rule_json_file.cpp、cpu_optimizer.cpp、rts_ops_kernel_builder.cc、rts_ffts_plus_ops_kernel_builder.cc、json_util.cc)。 2. **日志消息双空格清理**(约 17 处):清理消息中部的连续双空格为单空格(llm_log.h、kernel_info.cc、stream_active_op.cc、om2_model_executor.cc 等 12 个文件)。 3. **消息中部换行符移除**(1 处):inference_rule.cc:827 移除 GELOGE 消息中的 \n,避免单条日志被拆分为多行。 4. **双空格修正**(2 处):graph_utils.cc:3152、node.cc:140。 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [x] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue 无。 <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 描述测试此变更的步骤和前提条件: 1. 执行 bash build.sh(或对应组件构建)确认编译通过。 2. 构造触发失败路径的场景,确认日志以 WARNING 级别输出、不被 INFO 过滤遗漏。 3. 确认日志消息中无连续双空格及中部换行符。 ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [ ] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 - 修改来源:ge_log_review.xlsx 与 ge_supplementary_log_review.xlsx 两份评审结果。 - 仅调整日志级别与文案格式,不涉及功能逻辑变更,保留了原 ret 码与变量值。 - 提升失败路径日志级别并清理日志格式问题。 See merge request: cann/ge!4893 | 1 个月前 | |
feat: 新增 GetRegisteredIrDefV2 查询接口 Co-authored-by: du-hua1024<duhua2@huawei.com> # message auto-generated for no-merge-commit merge: !4726 merge master into develop feat: 新增 GetRegisteredIrDefV2 查询接口 Created-by: du-hua1024 Commit-by: du-hua1024 Merged-by: cann-robot Description: # Pull Request ## 描述 现有 GetRegisteredIrDef 是纯算子原型定义查询能力,由 ge_runner/libge_runner_v2 导出,调用方仅为查询 IR 定义也不得不链接 ge_runner,间接引入 session 管理等重依赖(如 boost)。 因此新增 GetRegisteredIrDefV2,实现及导出归属 graph(libgraph.so),复用底层 GetRegisteredIrDefFromGraph,轻量调用方无需再依赖 ge_runner。 选择新增 V2 而非直接挪符号,是因为直接改归属会破坏已有链接 ABI,新老接口并存+废弃标记是兼容做法。 - 接口实现及 stub 均归属 graph,由 libgraph.so 对外导出,便于其他模块依赖。 - 保留 GetRegisteredIrDef 的 ABI;在 ge_api.h、ge_api_v2.h 中标记为即将废弃,并补充迁移说明。 - 新增接口文档、废弃接口说明和 UT 覆盖。 ## 变更类型 <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [x] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [x] 📝 文档内容更新 ## 关联的Issue 无。 ## 如何测试 1. utst验证通过。 ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于 commit message 的格式、无效 commit 的合并等 ## 其他信息 无。 See merge request: cann/ge!4726 | 1 个月前 | |
fix: remove reshape skip checksupport Co-authored-by: lushiming0<lushiming1@h-partners.com> # message auto-generated for no-merge-commit merge: !4946 merge lsmge_20260914 into develop fix: remove reshape skip checksupport Created-by: lushiming0 Commit-by: lushiming0 Merged-by: cann-robot Description: # Pull Request ## 描述 删除 GraphNodeSettedFormatPass 中 reshape 跳过 checksupport 部分,reshape 不支持配置 format。 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [x] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 描述测试此变更的步骤和前提条件: 1. 配置 reshape 算子 format。 2. checksupport 报错。 ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如: feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/ge!4946 | 1 个月前 | |
feat: 自定义算子注册支持 engine and priority,常量折叠适配 Co-authored-by: du-hua1024<duhua2@huawei.com> # message auto-generated for no-merge-commit merge: !4918 merge new into develop feat: 自定义算子注册支持 engine and priority,常量折叠适配 Created-by: du-hua1024 Commit-by: du-hua1024 Merged-by: cann-robot Description: # Pull Request ## 描述 本 PR 主要实现自定义算子按 engine、priority 和 backend 注册/查询/创建,并将其适配到常量折叠 Host CPU 执行路径,同时保留原有注册接口的兼容行为。 主要变更: - 新增 OpRegistrationPriority(kTop / kBottom)、OpEngine,扩展 CustomOpRegistry 的注册、查询、实例创建和能力获取接口,注册维度为 (op_type, engine_type, priority, backend)。 - 扩展 CustomOpFactory 与 CustomOpCreatorRegister,新增带 priority/engine 的 API;默认接口保持使用 engine = OpEngine::kCustom、priority = kTop。 - 新增 REG_OP_WITH_PRIORITY 宏,支持为自定义算子显式指定 backend、priority 和 engine,并保留既有注册宏。 - ConstantFoldingPass::RunOpKernel 优先处理 OpEngine::kHostCpu engine 下的 bottom-priority Host CPU 自定义算子;命中后通过 HostCpuExecuteOp 执行,未命中时回退原有 OpKernelRegistry 路径,创建失败不错误回退。 - 补充 registry priority/engine 及常量折叠执行路径 UT,覆盖注册查询、实例缓存与隔离、非法/重复注册、优先级选择和 legacy kernel 回退行为。 - 辅助修复 stub graph target 体积:将 ge_log.h 从公共头 args_format_desc.h 移到实际使用日志宏的实现文件,减少 Ascend031 tiny.arm runtime 包中 libgraph.so 的链接依赖。 ## 变更类型 - [ ] 🐛 Bug 修复 - [x] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue 无 ## 如何测试 1. 新增的 custom-op registry 与 constant-folding UT 覆盖 engine/priority 注册、实例缓存、优先级选择、执行失败及 legacy kernel 回退场景。 ## 核对清单 - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 See merge request: cann/ge!4918 | 1 个月前 | |
feat: 自定义算子注册支持 engine and priority,常量折叠适配 Co-authored-by: du-hua1024<duhua2@huawei.com> # message auto-generated for no-merge-commit merge: !4918 merge new into develop feat: 自定义算子注册支持 engine and priority,常量折叠适配 Created-by: du-hua1024 Commit-by: du-hua1024 Merged-by: cann-robot Description: # Pull Request ## 描述 本 PR 主要实现自定义算子按 engine、priority 和 backend 注册/查询/创建,并将其适配到常量折叠 Host CPU 执行路径,同时保留原有注册接口的兼容行为。 主要变更: - 新增 OpRegistrationPriority(kTop / kBottom)、OpEngine,扩展 CustomOpRegistry 的注册、查询、实例创建和能力获取接口,注册维度为 (op_type, engine_type, priority, backend)。 - 扩展 CustomOpFactory 与 CustomOpCreatorRegister,新增带 priority/engine 的 API;默认接口保持使用 engine = OpEngine::kCustom、priority = kTop。 - 新增 REG_OP_WITH_PRIORITY 宏,支持为自定义算子显式指定 backend、priority 和 engine,并保留既有注册宏。 - ConstantFoldingPass::RunOpKernel 优先处理 OpEngine::kHostCpu engine 下的 bottom-priority Host CPU 自定义算子;命中后通过 HostCpuExecuteOp 执行,未命中时回退原有 OpKernelRegistry 路径,创建失败不错误回退。 - 补充 registry priority/engine 及常量折叠执行路径 UT,覆盖注册查询、实例缓存与隔离、非法/重复注册、优先级选择和 legacy kernel 回退行为。 - 辅助修复 stub graph target 体积:将 ge_log.h 从公共头 args_format_desc.h 移到实际使用日志宏的实现文件,减少 Ascend031 tiny.arm runtime 包中 libgraph.so 的链接依赖。 ## 变更类型 - [ ] 🐛 Bug 修复 - [x] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue 无 ## 如何测试 1. 新增的 custom-op registry 与 constant-folding UT 覆盖 engine/priority 注册、实例缓存、优先级选择、执行失败及 legacy kernel 回退场景。 ## 核对清单 - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 See merge request: cann/ge!4918 | 1 个月前 | |
fix: 修复ONNX If分支捕获cond时父节点输入去重导致GraphLint索引越界 Co-authored-by: chenqian1365<chenqian2@huawei.com> # message auto-generated for no-merge-commit merge: !4860 merge fix/onnx-if-cond-slot-dedup into develop fix: 修复ONNX If分支捕获cond时父节点输入去重导致GraphLint索引越界 Created-by: chenqian1365 Commit-by: chenqian1365 Merged-by: cann-robot Description: # Pull Request ## 描述 PR#4663 引入回归: IfSubgraphAdapter::AddInputForParentNode 为父 If 节点补齐闭包捕获输入时,按父节点已有 input 名字做去重,input[0](cond 槽位)会被误去重。当分支子图闭包捕获 cond 时,子图侧追加该输入而父 If 节点侧跳过追加,解析阶段子图 Data 的 parent_index = data_index + 1 越界,编译在 GraphLint 断言失败: text Input index 2 should not be larger than inputs size 2 [FUNC:SetInputRwType][FILE:graph_lint.cc][LINE:46] Failed to mark wrapper node the_if rw_type, input index 2 [FUNC:RefreshParentNodeIfNeed][FILE:graph_lint.cc][LINE:87] 本 PR 修复: - AddInputForParentNode 去重时跳过 input[0](cond 槽位):分支闭包捕获 cond 时父 If 节点同步追加同名输入(适配后 If.input = [cond, cond]),保持子图 input 与父 If 节点 input 的按位置对应关系(canndev if_plugin.cc 的 parent_index = data_index + 1 位置映射) - 适配前对 If 输入数不为 1 的非规范模型打 WARNING(ONNX 规范 If 仅有 1 个输入 cond,见 https://onnx.ai/onnx/operators/onnx__If.html),多余输入按"分支按名字捕获的值"继续转换,不拒绝。旧版解析器可编译 If.input = [cond, x] 等伪传参模型,为防有人使用此类非规范用法、升级后行为退化,仅告警不拦截 ## 变更类型 - [x] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue (无) ## 如何测试 1. 最小复现模型(If(cond),分支子图闭包捕获 cond):修复前 atc 报上述 GraphLint 断言失败,修复后编译成功,结果与 onnxruntime 参照一致 2. 回归验证合法模型(嵌套 If 闭包捕获、图输出透传捕获、分支并集传播等):编译成功 3. 回归验证非规范伪传参模型(If.input=[cond, x] 捕获 x;If.input=[cond, x] 捕获 x+y,旧版均可正常编译):编译成功,并输出非规范输入 WARNING(含节点名与输入数) 4. 单元测试:ctest -R ut_parser 中 *IfSubgraphAdapter* 9 个用例全部通过(PR#4663 原有 6 个 + 新增 3 个:捕获 cond 槽位去重、多输入捕获已有输入、多输入捕获已有+新增输入),覆盖子图 Data 与父 If 节点 input 的位置对应不变式 5. pre-commit 检查全部通过 ## 核对清单 - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 GraphLint 断言本身未改动;对非规范 If 多输入模型不做拒绝,仅 WARNING 记录,避免升级后行为退化;若后续需要严格对齐 ONNX 标准,可通过版本策略或开关逐步收紧。 See merge request: cann/ge!4860 | 1 个月前 | |
【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 | 3 个月前 | |
!4959 merge develop into master 【PR】: sync develop to master 20260914 Created-by: yangyongqiang0606 Commit-by: du-hua1024;Chang-an-HW;liyanrong_9;lidaoming1;qq_43440783;SeasonChu;chengyutao3;shangdf;zhangfan_hanq;cann-robot;lushiming0;gentle-knight;fary86;wuzheng-hw Merged-by: cann-robot Description: # Pull Request ## 描述 sync develop to master 20260914 ## 变更类型 请选择本次引入的变更类型: <!-- [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!4959 | 1 个月前 | |
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 | 1 个月前 | |
feat: 自定义算子注册支持 engine and priority,常量折叠适配 Co-authored-by: du-hua1024<duhua2@huawei.com> # message auto-generated for no-merge-commit merge: !4918 merge new into develop feat: 自定义算子注册支持 engine and priority,常量折叠适配 Created-by: du-hua1024 Commit-by: du-hua1024 Merged-by: cann-robot Description: # Pull Request ## 描述 本 PR 主要实现自定义算子按 engine、priority 和 backend 注册/查询/创建,并将其适配到常量折叠 Host CPU 执行路径,同时保留原有注册接口的兼容行为。 主要变更: - 新增 OpRegistrationPriority(kTop / kBottom)、OpEngine,扩展 CustomOpRegistry 的注册、查询、实例创建和能力获取接口,注册维度为 (op_type, engine_type, priority, backend)。 - 扩展 CustomOpFactory 与 CustomOpCreatorRegister,新增带 priority/engine 的 API;默认接口保持使用 engine = OpEngine::kCustom、priority = kTop。 - 新增 REG_OP_WITH_PRIORITY 宏,支持为自定义算子显式指定 backend、priority 和 engine,并保留既有注册宏。 - ConstantFoldingPass::RunOpKernel 优先处理 OpEngine::kHostCpu engine 下的 bottom-priority Host CPU 自定义算子;命中后通过 HostCpuExecuteOp 执行,未命中时回退原有 OpKernelRegistry 路径,创建失败不错误回退。 - 补充 registry priority/engine 及常量折叠执行路径 UT,覆盖注册查询、实例缓存与隔离、非法/重复注册、优先级选择和 legacy kernel 回退行为。 - 辅助修复 stub graph target 体积:将 ge_log.h 从公共头 args_format_desc.h 移到实际使用日志宏的实现文件,减少 Ascend031 tiny.arm runtime 包中 libgraph.so 的链接依赖。 ## 变更类型 - [ ] 🐛 Bug 修复 - [x] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue 无 ## 如何测试 1. 新增的 custom-op registry 与 constant-folding UT 覆盖 engine/priority 注册、实例缓存、优先级选择、执行失败及 legacy kernel 回退场景。 ## 核对清单 - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 See merge request: cann/ge!4918 | 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 个月前 | |
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 | 2 个月前 | |
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 | 1 个月前 | |
test: add om2 abi compatibility guard Co-authored-by: zhangfan_hq<tonhi.zhangfan@huawei.com> # message auto-generated for no-merge-commit merge: !4931 merge feat/om2-abi-compat-guard-clean into develop test: add om2 abi compatibility guard Created-by: zhangfan_hanq Commit-by: zhangfan_hq Merged-by: cann-robot Description: # Pull Request ## 描述 为 OM2 SO 与 Executor 的 C ABI 增加兼容规则、跨代理开发 skill,以及累计式结构体布局和枚举取值兼容性 UT。 ## 变更类型 - [ ] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的变动) - [x] 📦 构建过程或辅助工具的变动 - [x] 📝 文档内容更新 ## 关联的Issue 无。 ## 如何测试 1. 独立编译并运行 Om2AbiStructCompatibility.*:Om2AbiEnumCompatibility.*,11/11 通过。 2. 对本次变更执行 pre-commit,全部通过。 ## 核对清单 - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如:feat:、fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 无。 See merge request: cann/ge!4931 | 1 个月前 | |
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 | 1 个月前 | |
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 | 1 个月前 | |
【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 | 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 | 2 个月前 | |
【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 | 2 个月前 | |
【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 | 2 个月前 | |
【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 | 2 个月前 | |
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 | 2 个月前 | |
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 个月前 | |
!4086 merge develop into master 【PR】: sync develop to master 20260720 Created-by: zhanj Commit-by: lushiming0;yuchen97;ling-DT;lidaoming1;yangyongqiang0606;cann-robot;lining23666;du-hua1024;zhengfeiteng;yuht9;xingzhixiong;kobemini;Chang-an-HW;Mexyy;jikai-tyler Merged-by: cann-robot Description: # Pull Request ## 描述 sync develop to master 20260720 ## 变更类型 请选择本次引入的变更类型: <!-- [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!4086 | 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: 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 补充,我们将持续更新相关信息。
📝 其他信息
📝 联系我们
