| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
【feat】: HostCPU 融合 Codegen 迁移至标准 CustomOp Co-authored-by: @SeasonChu<zhuxincheng2@huawei.com> # message auto-generated for no-merge-commit merge: !4669 merge hostcpucodgen into develop 【feat】: HostCPU 融合 Codegen 迁移至标准 CustomOp Created-by: SeasonChu Commit-by: 19851937626;@SeasonChu Merged-by: cann-robot Description: # Pull Request ## 描述 将 HostCPU 融合 Codegen 从 RT2 私有 FusedHostCpuCompute ABI 迁移为标准 HostCPU CustomOp SO 链路。 - HostCpuFusionPass 筛选可融合的 SmallShape HostCPU 节点,按连通域和 sink 规划融合区域,并在全部 JIT 准备成 功后再提交图替换; - 生成实现 HostCpuExecuteOp / PortableOp 的 CustomOp SO,运行时通过 AicpuHostFindFunc 获取原始算子的 Gert HostKernel,按原拓扑执行; - 将生成 SO 以 kCustomOp 写入 root graph 的 bin_file_buffer,接入 CustomOp 注册、切图属性继承及 SO in OM 打包; - 移除旧的私有 SO 加载、RT2 私有 Compute 节点和私有 C ABI 路径,复用通用 CustomOp 生命周期。 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [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!4669 | 6 天前 | |
feat: part2 完善HostCPU自定义算子运行时与常量折叠支持 Co-authored-by: du-hua1024<duhua2@huawei.com> # message auto-generated for no-merge-commit merge: !4538 merge new into develop feat: part2 完善HostCPU自定义算子运行时与常量折叠支持 Created-by: du-hua1024 Commit-by: du-hua1024 Merged-by: cann-robot Description: # Pull Request ## 描述 本 PR 完善后端感知自定义算子的 HostCPU 执行链路,打通编译期识别与分流、Runtime V2 下沉执行、ShapeInfer、常量折叠及配套单元测试。HostCPU 自定义算子使用独立的 lowering 标识和执行上下文,避免被当作 Device 自定义算子编译或按 AI Core 归属分区。 ## 主要修改点 ### 1. HostCPU 自定义算子编译与分区 - 在 DNNEngineManager 中识别注册到 OpBackend::kHostCPU 的自定义算子,并将其设置为 Custom Engine、Custom Op Kernel Lib,同时写入 host_cpu_custom_op_lower_func lowering 属性。 - 在 HostcpuEngineUpdatePass 中保留 HostCPU 自定义算子的 Custom Engine 归属,避免被错误迁移到普通 HostCPU 或 Device 执行路径。 - 在 EnginePartitioner 二次分区时区分 Device 自定义算子和 HostCPU 自定义算子:前者跟随 AI Core,后者跟随 DNN_VM_HOST_CPU。 - 在动态 Shape 分区及未知 Shape 标记流程中,将 HostCPU 自定义算子按 HostCPU 节点处理。 - 在 Custom Engine 编译任务生成阶段跳过 HostCPU 自定义算子的 Device 编译;算子支持性检查改为使用后端感知注册信息。 ### 2. Runtime V2 HostCPU 自定义算子执行 - 新增 HostCPU 自定义算子 converter: - 从 Host 侧 lowering 结果构造输入 Tensor 和地址; - 使用 Host allocator 分配输出; - 注册 host_cpu_custom_op_lower_func 对应的节点 converter; - 增加输出内存释放及输入地址生命周期依赖。 - 新增 HostCPU 自定义算子 kernel: - 查找 HostCPU 自定义算子实例; - 支持 ExecuteHostCustomOp 和 ExecuteHostCustomOpWithInferShape; - 使用 HostCpuOpExecutionContext 调用 HostCpuExecuteOp::Execute; - 补充输出创建、Trace 和 Profiling 逻辑。 - ShapeInfer 链路改为通过 kShapeInfer 能力获取 ShapeInferOp,新增 FindCustomShapeInferOp kernel,避免先获取通用 BaseCustomOp 再转换。 - 抽取公共输出模板 Tensor 处理逻辑,兼容 Device 和 HostCPU 两类自定义算子执行路径。 ### 3. HostCPU 自定义算子常量折叠 - 在常量折叠阶段优先尝试执行注册为 HostCpuExecuteOp 的自定义算子。 - 新增 HostCPU 常量折叠专用内存分配器、TensorData 管理和 HostCpuOpExecutionContext 构造逻辑。 - 将 GE Tensor 转换为 GERT Tensor,执行 HostCPU 自定义算子后再转换回 GE Tensor。 - HostCPU 自定义算子执行失败时,继续回退到已有 HostCPU Kernel 和内置 Kernel 路径。 ### 4. 执行上下文、构建及可观测性 - 将 MakeOutputRefInput 调整为非 const 接口,移除内部 const_cast,同步更新实现、头文件及离线 stub。 - 增加 HostCPU 自定义算子 lowering 常量、Profiler 类型注册及 compiler 对 gert 的链接依赖。 - 更新相关 Runtime V2、编译器和 ShapeInfer 接口声明。 ### 5. 测试覆盖 新增或扩展以下单元测试: - HostCPU 自定义算子引擎更新、DNN Engine 选择及图分区; - 动态/未知 Shape 分区; - HostCPU 自定义算子常量折叠; - Runtime V2 custom converter、kernel 及 ShapeInfer; - 自定义算子 Kernel Info Store 后端感知检查。 ## 变更类型 - [ ] 🐛 Bug 修复 - [x] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 如何测试 - 编译 GE compiler、Runtime V2 及相关单元测试目标。 - 执行 HostCPU 自定义算子引擎更新、图分区、常量折叠、Runtime V2 converter/kernel 相关 UT。 - 验证 Device 自定义算子路径保持原有编译、分区和执行行为。 ## 核对清单 - [x] 我的代码遵循了项目的代码风格 - [x] 我已补充相关单元测试 - [x] 我已更新全部相关文档 - [x] 我在标题中使用了合适的类型标签(如:feat:、fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守其中的相关规定 ## 其他信息 本 PR 相对目标分支涉及 33 个文件,新增约 1384 行、删除约 50 行。Device 自定义算子与 HostCPU 自定义算子通过后端注册信息和 lowering 属性区分,HostCPU 路径不会进入 Device 自定义算子编译流程。 See merge request: cann/ge!4538 | 11 天前 | |
refactor: protobuf生成切换工程函数 Co-authored-by: Feiteng Zheng<zhengfeiteng1@h-partners.com> # message auto-generated for no-merge-commit merge: !4502 merge 20260821-switch-cmake-protobuf-generate into develop refactor: protobuf生成切换工程函数 Created-by: zhengfeiteng Commit-by: Feiteng Zheng Merged-by: cann-robot Description: # Pull Request ## 描述 protobuf生成切换工程函数。 ## 变更类型 请选择本次引入的变更类型: <!-- [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!4502 | 15 天前 | |
FE Log Rectification Co-authored-by: liyanrong9<liyanrong9@h-partners.com> # message auto-generated for no-merge-commit merge: !4643 merge fe_log_0817 into develop FE Log Rectification Created-by: liyanrong_9 Commit-by: liyanrong9 Merged-by: cann-robot Description: # Pull Request ## 描述 EcoC15版本日志易用性整改(FE责任田) ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [x] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 描述测试此变更的步骤和前提条件: 1. ut st通过 ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如: feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/ge!4643 | 6 天前 | |
fix: 修复用gcc 15编译代码时的报错 Co-authored-by: likun104<likun104@h-partners.com> # message auto-generated for no-merge-commit merge: !4356 merge br_cann-cmake-upgrade into develop fix: 修复用gcc 15编译代码时的报错 Created-by: likun104 Commit-by: likun104 Merged-by: cann-robot Description: # Pull Request ## 描述 修复用gcc 15编译代码时的报错 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [x] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 描述测试此变更的步骤和前提条件: 1. 流水线跑通过,且rdv跑通过 ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如: feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/ge!4356 | 11 天前 | |
fix: 规范GeDeletedOp残留节点的错误码上报 Co-authored-by: KenChow<zhouchen53@huawei.com> # message auto-generated for no-merge-commit merge: !4107 merge errcode_0305 into develop fix: 规范GeDeletedOp残留节点的错误码上报 Created-by: KenChow Commit-by: KenChow Merged-by: cann-robot Description: # Pull Request ## 描述 参考《GE 错误码写作规范》整改 GeDeletedOp::Run()(compiler/engines/local_engine/ops_kernel_store/op/ge_deleted_op.cc)的错误码上报。 原实现把所有"应被删除但仍残留的节点"统一按 E19999 上报,且文案存在语法、标点问题。 ### 关键改动 1. **错误码归类**(规范 §2.2.1):用户主动关闭图优化选项导致冗余节点残留,属于用户可修复的外部错误,改用 REPORT_PREDEFINED_ERR_MSG("E10001") 上报(value / parameter / reason),与 optimization_option.cc 中 option 类错误上报保持一致。 2. **保留内部错误**(规范 §2.1):以下 GE 内部不可预期场景仍上报 E19999,并拆成独立分支给出各自的根因描述: - 节点类型无对应优化选项,却未被图优化流程删除; - 优化选项已开启但节点仍残留(关联 pass 未按预期生效); - 优化选项取值获取失败。 3. **文案规范**(规范 §3.1~§3.5):按"错误主体(node name + type)→ 错误原因 → 修正建议"组织信息;修复 should be deleted ge(缺 by)、Node:xxx(缺空格)、逗号拼接句后 Please 误大写、ge → GE 等问题;option 取值为空时以 "" 呈现,避免渲染出连续空格。 ### 关键改动文件 - compiler/engines/local_engine/ops_kernel_store/op/ge_deleted_op.cc - tests/ge/ut/ge/common/ge_deleted_op_unittest.cc - tests/ge/st/testcase/test_deleted_op.cc ## 变更类型 - [x] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 如何测试 UT / ST 同步补充了新增分支的用例: - Shape_OptionNotConfigured:优化选项未注册也未配置,取值失败 → 内部错误分支; - Shape_OptionValueEmpty:选项取值为空串 → 外部错误分支且文案无空占位(UT); - Shape_OptionDisabledByGlobalOption:用户通过全局 option 关闭优化 → 外部错误分支; - OptMapTypes_OptionEnabledButNodeRemains:选项已开启但节点残留 → 内部错误分支(UT); - NonOptMapType_NoOptionDependency:无对应选项的类型 → 内部错误分支。 同时为 UT/ST 的 fixture 补充 TearDown,恢复线程局部 option 状态,避免污染同进程后续用例。 执行方式: - UT:ut_ge 中 UtestGeDeletedOp.* - ST:st_ge 中 NoOpTest.* ## 风险与兼容性影响 - 仅影响错误上报路径,Run() 返回值仍为 FAILED,控制流与对外行为不变; - 该场景下用户感知的错误码由 E19999 变为 E10001(仅限"用户关闭优化选项"分支),属于错误码整改的预期收益。 ## 回滚方案 git revert 本 PR 对应 commit 即可,无数据面/接口变更。 ## 核对清单 - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md) See merge request: cann/ge!4107 | 1 个月前 | |
fix: 完善 HostCPU 自定义算子的引擎选择 Co-authored-by: du-hua1024<duhua2@huawei.com> # message auto-generated for no-merge-commit merge: !4630 merge new into develop fix: 完善 HostCPU 自定义算子的引擎选择 Created-by: du-hua1024 Commit-by: du-hua1024 Merged-by: cann-robot Description: # Pull Request ## 描述 完善 HostCPU 自定义算子的引擎选择,保证 HostCPU 自定义实现不会被普通 HostCPU 引擎覆盖: - 在 EnginePlacer 节点指定engine时,不会进入DNNEngineManager 选择引擎,因此补充逻辑,在完成引擎选择后,仅对已选择 DNN_VM_HOST_CPU 且存在 HostCPU 自定义实现的节点切换为 DNN_VM_CUSTOM。 - 保留 DNNEngineManager 原有的显式 Host 放置、直接引擎选择及 HostCPU custom 回退逻辑,兼容无普通 HostCPU kernel store 的场景。 - 增加引擎字段、引擎属性和设备引擎保护场景的 UT。 - 修正融合示例中 GEMM scalar 常量的类型为 float,适配当前算子优化支持范围。 ## 变更类型 - [x] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue 无 ## 如何测试 - 已补充 EnginePlacer HostCPU custom 相关 UT。 ## 核对清单 - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [ ] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md) ## 其他信息 无 See merge request: cann/ge!4630 | 10 天前 | |
FE Log Rectification Co-authored-by: liyanrong9<liyanrong9@h-partners.com> # message auto-generated for no-merge-commit merge: !4643 merge fe_log_0817 into develop FE Log Rectification Created-by: liyanrong_9 Commit-by: liyanrong9 Merged-by: cann-robot Description: # Pull Request ## 描述 EcoC15版本日志易用性整改(FE责任田) ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [x] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 描述测试此变更的步骤和前提条件: 1. ut st通过 ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如: feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/ge!4643 | 6 天前 | |
refactor: protobuf生成切换工程函数 Co-authored-by: Feiteng Zheng<zhengfeiteng1@h-partners.com> # message auto-generated for no-merge-commit merge: !4502 merge 20260821-switch-cmake-protobuf-generate into develop refactor: protobuf生成切换工程函数 Created-by: zhengfeiteng Commit-by: Feiteng Zheng Merged-by: cann-robot Description: # Pull Request ## 描述 protobuf生成切换工程函数。 ## 变更类型 请选择本次引入的变更类型: <!-- [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!4502 | 15 天前 | |
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 | 2 个月前 |
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 6 天前 | ||
| 11 天前 | ||
| 15 天前 | ||
| 6 天前 | ||
| 11 天前 | ||
| 1 个月前 | ||
| 10 天前 | ||
| 6 天前 | ||
| 15 天前 | ||
| 2 个月前 |