| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
feat(om2): 新增OM2运行时变量管理器(RTVarManager) Co-authored-by: wuzheng-hw<wuzheng14@huawei.com> # message auto-generated for no-merge-commit merge: !4297 merge om2_varmanager into develop feat(om2): 新增OM2运行时变量管理器(RTVarManager) Created-by: wuzheng-hw Commit-by: wuzheng-hw Merged-by: cann-robot Description: # Pull Request ## 描述 新增OM2运行时变量管理器(RTVarManager),用于在运行时管理变量的内存分配、地址映射、格式转换及数据拷贝。 主要变更: - 新增 RTVarResource 数据结构,描述运行时变量条目(RTVarEntry),包含变量名、逻辑地址、tensor描述、格式转换路径等 - 新增 BuildRTVarResource 接口,从编译期 VarManager 构建运行时变量资源并序列化到 OM2 模型文件 - 新增 Om2RTVarManager,负责运行时变量内存分配、地址管理、格式转换及数据拷贝 - 新增 Om2RTVarManagerPool 单例池,按 session 管理 RTVarManager 实例 - OM2 codegen 侧新增变量元数据序列化 - 模型执行器集成 RTVarManager,支持从 OM2 文件解析变量资源并初始化 - 任务码构建适配变量地址刷新逻辑 - 新增完整的 UT/ST 测试用例 ## 变更类型 - [ ] 🐛 Bug 修复 - [x] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue ## 如何测试 1. 运行 UT 用例:om2_rt_var_manager_unittest、rt_var_resource_unittest、om2_var_resource_builder_unittest 2. 运行 ST 用例:test_om2、test_om2_online 3. 验证 OM2 模型编译和运行时变量管理功能正常 ## 核对清单 - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定 ## 其他信息 涉及 57 个文件变更,新增约 4500 行代码。 See merge request: cann/ge!4297 | 27 天前 | |
【PR】: 修复 Broadcast/Tile + Reduce 时 Reshape 输入输出定义 Co-authored-by: Yulin-Bi<13677173705@163.com> # message auto-generated for no-merge-commit merge: !4474 merge Ge_dev_bi into develop 【PR】: 修复 Broadcast/Tile + Reduce 时 Reshape 输入输出定义 Created-by: JacsonPile Commit-by: Yulin-Bi Merged-by: cann-robot Description: # Pull Request ## 描述 修复 AutoFuse BroadcastReduceEliminationPass 消除 Broadcast/Tile + Reduce 模式后,替换生成的 Reshape 节点结构不完整、输出 shape 描述不一致的问题。 原实现手工创建 Reshape OpDesc,只连接数据输入,并通过 shape 属性记录目标 shape;同时,Reshape 输出描述由输入描述复制而来,仅更新了 GeShape,可能继续保留原输入的 OriginShape 和 symbolic shape。以复现用例为例,静态 shape 已变为 [256, 10],但 origin/symbolic shape 仍可能是 [256, 1, 10],导致后续 Concat 符号 shape 推导发现输入 rank 不一致并报错: text input_3_dim_num(2) != first_input_dim_num(3) 本次变更包括: 1. 按 Reshape 算子原型创建 data + shape 两个输入,其中目标 shape 由 DT_INT64 Const 节点提供,并连接到 Reshape 的第二个输入。 2. 将 Reshape 输出的 GeShape、OriginShape 和 SymbolicDescAttr.origin_symbol_shape 同步为同一个目标 shape,避免静态描述与符号描述的 rank 不一致。 3. 补充 UT 校验,覆盖 Reshape 双输入结构、shape Const 的类型和值、三类 shape 描述以及数据边连接关系。 4. 补充 UT 使用 NodeUtils 所需的直接头文件依赖。 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [x] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue 暂无关联 Issue。 ## 如何测试 1. 编译并执行 autofusion_ut,重点运行 BroadcastReduceMax_EliminateWithSqueeze,确认: - Reshape 包含 data 和 shape 两个输入; - shape 输入来自 DT_INT64 Const,内容等于目标 shape; - 输出 GeShape、OriginShape 和 symbolic shape 一致; - 数据连接保持为 data -> Reshape -> relu。 2. 执行复现用例回归,确认不再出现 Concat 输入 rank 不一致错误。 3. 将输出与 CPU golden 比较。 当前验证结果: - 复现环境中的 ATC 编译已通过,不再出现 Concat symbolic shape rank 错误。 - ACL 执行返回 aclmdlExecute: ret=0,两个输出与 CPU golden 比对通过。 ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [ ] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 - 影响文件: - compiler/graph/optimize/autofuse/autofuse/pattern_fusion/broadcast_reduce_elimination_pass.cpp - tests/autofuse/ut/autofuse/broadcast_reduce_elimination_pass_unittest.cpp See merge request: cann/ge!4474 | 19 天前 | |
【PR】: 对外头文件整改,新增转发头文件后修改引用和配置 Co-authored-by: jikai-tyler<jikai5@huawei.com> # message auto-generated for no-merge-commit merge: !3568 merge jk_external into develop 【PR】: 对外头文件整改,新增转发头文件后修改引用和配置 Created-by: jikai-tyler Commit-by: jikai-tyler Merged-by: cann-robot Description: # Pull Request ## 描述 对外头文件整改,新增转发头文件后修改引用和配置。 ## 变更类型 请选择本次引入的变更类型: <!-- [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!3568 | 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 | 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 | 29 天前 | |
fix: aclnn fallback支持算子级确定性配置 Co-authored-by: ClarkXie<xiezhengkai@huawei.com> # message auto-generated for no-merge-commit merge: !4322 merge batch_deterministic into develop fix: aclnn fallback支持算子级确定性配置 Created-by: ClarkXie Commit-by: ClarkXie Merged-by: cann-robot Description: # Pull Request ## 描述 完善 ACLNN fallback 的算子级 deterministic 配置处理:算子执行前临时覆盖确定性配置,执行结束后恢复模型基线配置;离线模型加载时校验 process global option 与模型配置的一致性。 确定性配置统一直接使用最新 runtime set 接口。 deterministic 仅用于与 deterministic_level 做一致性校验,真正下发到 runtime 的值只使用 deterministic_level;不再查询 runtime 或算子包版本,也不再做 capability 分档和 kernel 侧配置对齐。 ## 主要变更 - base/common/op_tiling/op_tiling_rt2.{h,cc} - 独立读取 graph/node 的 deterministic 和 deterministic level 属性。 - 在 SetDeterministicConfig 内校验两者是否同为 0 或同为非 0。 - process/context runtime 配置统一直接下发 deterministic level,并保留全局设置加锁。 - runtime/v2/engine/aicore/converter/aclnn_node_converter.cc - 保存算子级 deterministic/level 属性及存在标记。 - 创建并保存模型原始 deterministic 基线配置。 - 移除 runtime、ops_math、ops_nn、ops_transformer、ops_cv、ops_legacy 版本查询及 capability 组装。 - runtime/v2/engine/aicore/kernel/aclnn_op_execute_kernel.{h,cc} - 复用 FwkData 传递算子级配置和原始基线配置。 - 一体式执行和两阶段 prepare 前按需临时覆盖 runtime 配置,并在成功/失败路径恢复基线。 - 两阶段 launch 不消费 deterministic 配置;kernel 不负责 deterministic/level 对齐。 - runtime/v2/api/api.cc - 离线模型加载时校验模型 global option 与进程 global option 的一致性。 - 增加 root graph 属性、进程 option、比较结果及跳过原因的 INFO 日志,便于定位校验未生效问题。 - UT/ST - 更新确定性配置下发、level 透传、不一致配置拒绝、算子级覆盖与恢复、离线 global option 校验相关用例。 ## 变更类型 - [x] 🐛 Bug 修复 - [ ] ✨ 新功能 - [x] ♻️ 重构 - [ ] 📦 构建过程或辅助工具 - [ ] 📝 文档内容更新 ## 关联的 Issue 无。 ## 如何测试 按要求未执行 UT/ST;已完成 git diff --check。 ## 核对清单 - [x] 代码遵循项目代码风格 - [x] 已完成静态差异检查(git diff --check) - [x] 已执行 UT/ST - [x] 已更新设计文档(按要求不修改文档) See merge request: cann/ge!4322 | 21 天前 | |
fix: fix clean code warnings Co-authored-by: likun104<likun104@h-partners.com> # message auto-generated for no-merge-commit merge: !3941 merge br_fix_clean_code_warnings_0709 into develop fix: fix clean code warnings Created-by: likun104 Commit-by: likun104 Merged-by: cann-robot Description: # Pull Request ## 描述 清理ge仓中的clean code告警 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [x] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 描述测试此变更的步骤和前提条件: 1. 流水线跑通过 ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如: feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/ge!3941 | 20 天前 | |
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 个月前 | |
feat: host cpu算子支持codegen融合 Co-authored-by: @SeasonChu<zhuxincheng2@huawei.com> # message auto-generated for no-merge-commit merge: !4246 merge hostcpu-private-cabi-poc into develop feat: host cpu算子支持codegen融合 Created-by: SeasonChu Commit-by: @SeasonChu Merged-by: cann-robot Description: ## 变更目的 在动态 Shape/小 Shape 场景下,将满足条件的 HostCPU 算子链融合为 FusedHostCpu,通过 JIT 生成融合编排 SO,并由 Runtime2 在 Host 上直接执行,减少逐算子调度和参数构造开销,打通 Compiler、HostCpuEngine、CPU Engine 与 Runtime2 的端到端融合链路。 ## 主要变更 ### 1. 融合区域识别与图改写 - 在最终 HostCPU 引擎归属刷新后执行 HostCpuFusionPass,递归处理根图及其子图。 - 仅选择 HostCPU engine/kernel store、SmallShapeHostcpu、输入输出合法且存在 CpuKernel 实现的节点作为候选。 - 基于候选数据边构建连通分量,支持汇聚 DAG 保持和非汇聚多 sink 分支的 Clone-and-Split。 - 先完成所有区域的代码生成与编译,再统一提交图修改;失败时保留原图,并同步维护 atomic/composite engine map。 - 将融合节点所需的注册名、SO key、原始节点信息和输出映射写入 FusedHostCpu 属性。 ### 2. HostCPU Fusion JIT Codegen - 根据融合区域生成 HostCPU 编排源码,保持外部输入、外部输出及内部节点的拓扑和绑定关系。 - 支持计算相关属性序列化、内部临时 Tensor 管理和多输出映射。 - 在内存中编译生成 SO,并校验 ELF 后再进入图提交阶段。 - 使用确定性 chain id/register name,将 SO 数据存储在根图属性中,避免节点迁移到子图后无法定位产物。 ### 3. HostCpuEngine 与 CPU Engine - 增加 IsCpuConstantFoldingFusedOpSupported 查询,仅允许已注册的 V1/V2 CpuKernel 进入融合。 - 增加融合链 plan 的创建、销毁、执行和 Tensor binding/rebind 能力。 - 对运行时地址、Shape、dtype 和 format 变化进行增量重绑,复用已创建的内部 CpuKernel plan。 - 统一 JIT SO 与 Runtime2 之间的 private C ABI,提供注册校验及 create/destroy/run 入口。 ### 4. Runtime2 加载与直接执行 - 从根图读取融合 SO,完成 ELF 校验、动态加载、注册校验和 private entry 解析。 - 将 FusedHostCpu lowering 为专用 FusedHostCpuCompute ExecuteGraph kernel。 - 在执行时构造 Host Tensor binding,调用融合入口完成 Host 侧直调,并回传输出地址和 Shape。 - 在模型 DeInit 阶段释放 kernel state 和模型引用,保留进程级安全缓存,避免注册回调悬空。 ## 变更类型 - [ ] 🐛 Bug 修复 - [x] ✨ 新功能 - [ ] 💄 代码风格更新 - [ ] ♻️ 重构 - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 如何测试 算子满足host执行,且hostcpu算子节点数大于等于2 ## 测试结果 连续的hostcpu算子融合为一个fused算子 ## 关联 Issue 无。 See merge request: cann/ge!4246 | 21 天前 | |
【Revert】【PR】: Revert jit调度和切图解耦,开启自动融合便走jit执行,SliceSchedule只控制是否切图 Co-authored-by: chengyutao3<chengyutao3@huawei.com> # message auto-generated for no-merge-commit merge: !4524 merge develop into develop 【Revert】【PR】: Revert jit调度和切图解耦,开启自动融合便走jit执行,SliceSchedule只控制是否切图 Created-by: chengyutao3 Commit-by: chengyutao3 Merged-by: cann-robot Description: # Pull Request ## 描述 回退"整图 JIT"特性(对应提交 c165ea09a:jit 调度与切图解耦、开启自动融合即走 JIT 执行),恢复原有行为:**仅当同时开启自动融合(autofuse)与切片调度(slice schedule)时才走 JIT 执行路径**,否则图回退到传统编译/加载路径。 主要变更: 1. 恢复 UserGraphsManager::ShouldUseSliceSchedule() 及 slice_schedule_unsupported_set_ 黑名单机制,AddGraph/BuildGraph/RunGraphAsync/CompileGraph/LoadGraph/RemoveGraph 等分发入口的判断由 EnableAutoFuse() 改回 ShouldUseSliceSchedule(),不支持切图调度的图回退传统模式。 2. 移除 UserGraph::slice_supported 字段及 ExecutionOrder::AddNewSlice() 中的整图模式分支(sliced_graph = graph; remaining_graph = nullptr),切图逻辑恢复为"节点全部可推断则整图不切、否则二分切图"。 3. SetGraphConstMemoryBase、UpdateGraphFeatureMemoryBase、SetGraphFixedFeatureMemoryBaseWithType、UpdateGraphRefreshableFeatureMemoryBase 四个内存类接口的守卫由 EnableAutoFuse() 改回 EnableSliceSchedule(),报错文案由 "JIT executor" 恢复为 "slice scheduler"。 4. 删除 option_utils.{h,cc} 中新增的 EnableAutoFuse() 开关。 5. 测试适配:autofuse_canfuse_test.cc 由 CompileGraph + GetJitCompiledGraph()(取 JIT 编译副本断言)恢复为 BuildGraph + 原图断言;execution_order_unittest、jit_executor_unittest、user_graph_manager_unittest、ge_api_v2_unittest 等同步回退;share_graph.cc 中 BuildStaticTwoReduceNodeGraph 的 shape 由 {2,2,16} 恢复为 {2,2,2}。 ## 变更类型 <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [x] ♻️ 重构(既不修复错误也不增加功能的代码变动)—— 回退已合入的"整图 JIT"特性 - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 描述测试此变更的步骤和前提条件: 1. 编译并运行 JIT 执行相关单测:tests/ge/ut/ge/jit_execution/ 下的 execution_order_unittest、jit_executor_unittest、user_graph_manager_unittest,以及 tests/ge/ut/ge/session_v2/ge_api_v2_unittest.cc 中的 SliceSchedule_UnsupportedPaths 用例,确认全部通过。 2. 编译并运行 autofuse 场景测试 tests/ge/st/testcase/autofuse/autofuse_canfuse_test.cc(BuildGraph 流程),确认融合结果断言通过。 3. 功能验证:仅设置 --enable_autofuse=true(未开启 experimental_enable_jit_executor_v2)时,确认图走传统编译路径而非 JIT 整图执行;同时开启两者时确认仍走切片调度 JIT 路径,内存基址类接口(SetGraphConstMemoryBase 等)返回 UNSUPPORTED 且日志文案为 "does not support the slice scheduler currently"。 ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [ ] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 - 建议标题使用 revert: 回退整图JIT执行特性(本次为回退提交,未采用 git revert 自动生成信息,而是手动反向修改,改动净效果为 −219/+183 行)。 - 涉及代码路径较多(API 层、JIT 执行器、切图调度、测试),建议合入前完整跑一遍 tests/ge/ut 与 autofuse ST 用例。 See merge request: cann/ge!4524 | 15 天前 | |
【Revert】【PR】: Revert jit调度和切图解耦,开启自动融合便走jit执行,SliceSchedule只控制是否切图 Co-authored-by: chengyutao3<chengyutao3@huawei.com> # message auto-generated for no-merge-commit merge: !4524 merge develop into develop 【Revert】【PR】: Revert jit调度和切图解耦,开启自动融合便走jit执行,SliceSchedule只控制是否切图 Created-by: chengyutao3 Commit-by: chengyutao3 Merged-by: cann-robot Description: # Pull Request ## 描述 回退"整图 JIT"特性(对应提交 c165ea09a:jit 调度与切图解耦、开启自动融合即走 JIT 执行),恢复原有行为:**仅当同时开启自动融合(autofuse)与切片调度(slice schedule)时才走 JIT 执行路径**,否则图回退到传统编译/加载路径。 主要变更: 1. 恢复 UserGraphsManager::ShouldUseSliceSchedule() 及 slice_schedule_unsupported_set_ 黑名单机制,AddGraph/BuildGraph/RunGraphAsync/CompileGraph/LoadGraph/RemoveGraph 等分发入口的判断由 EnableAutoFuse() 改回 ShouldUseSliceSchedule(),不支持切图调度的图回退传统模式。 2. 移除 UserGraph::slice_supported 字段及 ExecutionOrder::AddNewSlice() 中的整图模式分支(sliced_graph = graph; remaining_graph = nullptr),切图逻辑恢复为"节点全部可推断则整图不切、否则二分切图"。 3. SetGraphConstMemoryBase、UpdateGraphFeatureMemoryBase、SetGraphFixedFeatureMemoryBaseWithType、UpdateGraphRefreshableFeatureMemoryBase 四个内存类接口的守卫由 EnableAutoFuse() 改回 EnableSliceSchedule(),报错文案由 "JIT executor" 恢复为 "slice scheduler"。 4. 删除 option_utils.{h,cc} 中新增的 EnableAutoFuse() 开关。 5. 测试适配:autofuse_canfuse_test.cc 由 CompileGraph + GetJitCompiledGraph()(取 JIT 编译副本断言)恢复为 BuildGraph + 原图断言;execution_order_unittest、jit_executor_unittest、user_graph_manager_unittest、ge_api_v2_unittest 等同步回退;share_graph.cc 中 BuildStaticTwoReduceNodeGraph 的 shape 由 {2,2,16} 恢复为 {2,2,2}。 ## 变更类型 <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [x] ♻️ 重构(既不修复错误也不增加功能的代码变动)—— 回退已合入的"整图 JIT"特性 - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 描述测试此变更的步骤和前提条件: 1. 编译并运行 JIT 执行相关单测:tests/ge/ut/ge/jit_execution/ 下的 execution_order_unittest、jit_executor_unittest、user_graph_manager_unittest,以及 tests/ge/ut/ge/session_v2/ge_api_v2_unittest.cc 中的 SliceSchedule_UnsupportedPaths 用例,确认全部通过。 2. 编译并运行 autofuse 场景测试 tests/ge/st/testcase/autofuse/autofuse_canfuse_test.cc(BuildGraph 流程),确认融合结果断言通过。 3. 功能验证:仅设置 --enable_autofuse=true(未开启 experimental_enable_jit_executor_v2)时,确认图走传统编译路径而非 JIT 整图执行;同时开启两者时确认仍走切片调度 JIT 路径,内存基址类接口(SetGraphConstMemoryBase 等)返回 UNSUPPORTED 且日志文案为 "does not support the slice scheduler currently"。 ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [ ] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 - 建议标题使用 revert: 回退整图JIT执行特性(本次为回退提交,未采用 git revert 自动生成信息,而是手动反向修改,改动净效果为 −219/+183 行)。 - 涉及代码路径较多(API 层、JIT 执行器、切图调度、测试),建议合入前完整跑一遍 tests/ge/ut 与 autofuse ST 用例。 See merge request: cann/ge!4524 | 15 天前 | |
feat: run Python custom op infer_meta at compile time and RT2 Co-authored-by: lfz<220252399@seu.edu.cn> # message auto-generated for no-merge-commit merge: !4414 merge develop3 into develop feat: run Python custom op infer_meta at compile time and RT2 Created-by: lfz2812 Commit-by: lfz Merged-by: cann-robot Description: # Pull Request ## 描述 在 Python 自定义算子原型注册、Bridge、Adapter 和 canonical IR 链路的基础上,接通 Python infer_meta 回调,使注册的 Python 原型可以参与编译期和 RT2 动态 Shape 推导。 本次主要包含: 1. 接通 Python infer_meta 回调: - 将 register_op 装饰函数作为 Python infer_meta 函数使用。 - 根据 canonical IR 组装 required、optional、dynamic 输入。 - 根据属性 IR 类型读取运行时属性。 - 将输入转换为 TensorDesc,将属性转换为 Python 参数。 - 支持 required、optional、dynamic 输入和 required、dynamic 输出。 - 支持多输出和动态输出实例数量校验。 - 校验 Python 返回值类型、结构和输出数量。 2. 新增 InferShape native context: - 提供输入 shape 和 data type 读取能力。 - 提供动态输入实例数量查询。 - 提供运行时属性读取能力。 - 提供动态输出实例数量查询。 - 提供输出 shape 写回能力。 - callback 结束后使 borrowed context 及其派生对象失效。 3. 接通编译期 Meta 推导: - 在 Graph Metadef 编译期识别 CustomOpInferMetaProvider。 - 每个算子节点只调用一次 Python infer_meta。 - 推导成功后统一更新输出 shape、data type 和 origin data type。 - 使用临时 OpDesc 承载推导结果,所有校验成功后再提交到原始 OpDesc。 - 任意推导、返回值或格式转换失败时,不提交部分输出结果。 4. 接通 RT2 动态 Shape 推导: - RT2 的 custom op shape kernel 优先复用 infer_meta 回调。 - Python callback 读取当前运行时输入元信息和属性。 - 运行期只更新输出 shape,已编译的 data type 不被覆盖。 - 保留普通 C++ custom op 的 ShapeInferOp fallback 路径。 5. 扩展 Bridge、Adapter 和注册结构: - 扩展 Bridge C ABI,传递 Python infer_meta callback。 - 扩展 Python custom op Adapter 的 infer_meta 能力。 - 支持 Python proto-only、Python proto + impl 和 infer-only 场景。 - 保持现有 Python execute、schema-bound execute 和 legacy execute(ctx) 行为。 - 保持 callback、holder、runtime registry 和卸载生命周期管理方式不变。 6. 补充测试和设计说明: - 补充 Python infer_meta 参数组装、属性读取、返回值校验和动态输出测试。 - 补充 InferShapeContext native binding 测试。 - 补充 C++ Adapter、Bridge callback 和 infer-only adapter 测试。 - 补充 Graph Metadef 编译期 shape/dtype/origin dtype 回写及失败原子性测试。 - 补充 RT2 Python infer_meta 动态 Shape ST。 - 同步更新中英文 Python 自定义算子设计文档。 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [x] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [x] 📝 文档内容更新 ## 关联的Issue 无。 ## 如何测试 建议执行: bash cmake --build build_ut \ --target install_ge_py_for_tests \ ut_exe_graph \ ut_libge_multiparts_utest \ ut_fast_runtime2_test \ -j4 python3 -m pytest \ tests/ge/ut/ge/graph/pyge_tests/python_custom_op_infer_meta_test.py \ -q ctest --test-dir build_ut \ -R 'ut_exe_graph|ut_libge_multiparts_utest|ut_fast_runtime2_test' \ --output-on-failure cmake --build build_st --target graph_engine_test -j4 ctest --test-dir build_st \ -R graph_engine_test \ --output-on-failure git diff --check ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 - 本次仅接通 Python infer_meta 的编译期和 RT2 动态 Shape 链路。 - 本次不新增公开 API,不修改 register_op API 文档,不修改 user_guides。 - 不支持 data-dependent infer、InferShapeRange、format inference、symbolic inference 和 shape rule generation。 - 不修改 OM 格式、DavinciModel 接口或 RT2 到 V1 的边界数据。 - 不修改 build_fwk.sh 等公共构建脚本。 - 保持 Python native、Bridge 和 Adapter 按同一 ABI 版本整体构建和替换。 See merge request: cann/ge!4414 | 18 天前 | |
【PR】: 将parser下的model_saver.h和pass_manager.h重命名 Co-authored-by: chenqian1365<chenqian2@huawei.com> # message auto-generated for no-merge-commit merge: !4447 merge develop_model_save into develop 【PR】: 将parser下的model_saver.h和pass_manager.h重命名 Created-by: chenqian1365 Commit-by: chenqian1365 Merged-by: cann-robot Description: # Pull Request ## 描述 将parer下的model_saver.h和pass_manager.h重命名 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [x] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 描述测试此变更的步骤和前提条件: 1. 2. ## 核对清单 <!-- [x] 表示选中 --> - [ ] 我的代码遵循了项目的代码风格 - [ ] 我已对代码进行了自测 - [ ] 我已更新了相关的文档 - [ ] 我在标题中使用了合适的类型标签(如: feat:, fix:) - [ ] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/ge!4447 | 20 天前 | |
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 个月前 | |
【Bugfix】: Use Internal Error instead inner error Co-authored-by: zhanj<zhanjun6@hisilicon.com> # message auto-generated for no-merge-commit merge: !4340 merge b_fix_inner_error into develop 【Bugfix】: Use Internal Error instead inner error Created-by: zhanj Commit-by: zhanj Merged-by: cann-robot Description: # Pull Request ## 描述 【Bugfix】: Use Internal Error instead inner error ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [x] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 描述测试此变更的步骤和前提条件: 1. 2. ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如: feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/ge!4340 | 27 天前 | |
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 个月前 | |
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 个月前 |
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 27 天前 | ||
| 19 天前 | ||
| 2 个月前 | ||
| 2 个月前 | ||
| 29 天前 | ||
| 21 天前 | ||
| 20 天前 | ||
| 2 个月前 | ||
| 21 天前 | ||
| 15 天前 | ||
| 15 天前 | ||
| 18 天前 | ||
| 20 天前 | ||
| 2 个月前 | ||
| 27 天前 | ||
| 2 个月前 | ||
| 2 个月前 |