| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
refactor(om2): 重构OM2序列化格式,优化存储结构 Co-authored-by: wuzheng-hw<wuzheng14@huawei.com> # message auto-generated for no-merge-commit merge: !4512 merge om2_830 into develop refactor(om2): 重构OM2序列化格式,优化存储结构 Created-by: wuzheng-hw Commit-by: wuzheng-hw Merged-by: cann-robot Description: # Pull Request ## 描述 重构 OM2 文件的序列化/反序列化格式,优化存储结构,消除冗余字段,统一动态分档信息的组织方式。 主要变更: ### model_meta.json 1. **删除 root_graph_name 字段**:统一使用 model_name,消除冗余 2. **动态分档信息重组为 dynamic_dims 结构**:将原来分散的 dynamic_batch_info、dynamic_output_shape、dynamic_type、user_designate_shape_order 四个字段整合为统一的 dynamic_dims 对象,包含 gears 数组 3. **非动态分档场景不保存 dynamic_dims**:避免空字段占用空间 4. **input shape 语义优化**:动态分档场景下 shape 存储原始维度,max_gear_shape 存储最大档位维度;静态场景 shape 存储实际维度 5. **shape_v2 重命名为 shape_aclmdlGetInputDimsV2**:仅在 has_aipp 时序列化 ### op_attr.json 6. **路径变更**:从 data/model_N/debug/op_attr.json 移到 data/model_N/op_attr.json 7. **存储格式重构**:op_attr_map 改为 op_attr_json 字符串,JSON 值增加 type/value 结构体 ### 其他 8. **OM2 版本号升级**:OM2_ARCHIVE_VERSION_VALUE 从 "0" 改为 "1.0" 9. **kernels 目录简化**:从 data/kernels_npu_arch/ 改为 data/kernels/ 10. **constants config 优化**:删除 op_name 字段,INTERNAL 类型使用 constant_<index> 作为 key,外部权重使用 op_name 11. **manifest.json 优化**:4空格缩进格式化输出,model_num 序列化为整数类型 ## 变更类型 - [ ] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [x] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue ## 如何测试 1. 编译验证:bash build.sh --ge_compiler --ge_executor 通过 2. 静态模型序列化后 JSON 中不包含 dynamic_dims、root_graph_name 3. 动态分档模型序列化后 dynamic_dims.gears 包含正确的 inputs/outputs 信息 4. 反序列化后内存结构与原格式兼容,消费侧无需修改 5. op_attr.json 在新路径正确读写,JSON 格式包含 type/value 结构 6. kernels 在新路径 data/kernels/ 下正确存取 ## 核对清单 - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限commit message的格式、无效commit的合并等 ## 其他信息 涉及文件: - base/common/om2/om2_model_data.h - 删除 root_graph_name,op_attr_map 改为 op_attr_json - base/common/helper/om2/om2_package_contants.h - 版本号、路径常量更新 - base/common/helper/om2/om2_zip_saver.cc - 序列化逻辑全面重构 - runtime/om2/om2_model_executor.cc - 反序列化逻辑全面重构 - base/common/helper/om2_package_helper.cc - 删除 root_graph_name/GetRootGraphName,op_attr 构建逻辑重构 - base/common/om2/codegen/om2_codegen_model_builder.cc - INTERNAL 常量增加 file_name - 10个测试文件更新 See merge request: cann/ge!4512 | 12 天前 | |
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: 接入ONNX Plugin Python bridge到真实ParseParamsFn Co-authored-by: gentle-knight<522025150054@smail.nju.edu.cn> # message auto-generated for no-merge-commit merge: !4455 merge feat/onnx-plugin-python-pr2-bridge into develop feat: 接入ONNX Plugin Python bridge到真实ParseParamsFn Created-by: gentle-knight Commit-by: gentle-knight Merged-by: cann-robot Description: ## 描述 在PR1(#4421 native bindings)基础上,以独立bridge SO完成Python descriptor/registry到parser真实ParseParamsFn的闭环。 PR2新增内容: - 新增 ge_python_onnx_plugin_bridge独立SO,复用现有loader/registry/OpRegistrationTbe/OpRegistry,不新增第二套注册表或扫描器 - PrepareBeforeParse在C++插件初始化成功后、ASCEND_CUSTOM_OPP_PATH非空时按需dlopen bridge - bridge以py::cast(NodeProto*, reference)借用parser已有对象构造native OnnxNode,不取得所有权 - ge::Operator地址作为ctypes借用句柄传入Python callback,callback结束后失效 - callback返回None映射SUCCESS,返回非None映射PARAM_INVALID,Python异常映射FAILED - OpRegistry使用已有完整(target, origin_type)键检查保持C++优先,Python不覆盖已有C++注册 - 删除Python bridge UT中的SimpleNamespace测试接缝,改为C++ parser UT直接构造真实ge::onnx::NodeProto - 新增成功/异常/非None返回/C++优先四类场景测试 不包含ParseParamsByOperatorFn、ParseOpToGraphFn、ParseSubgraph、ES子图构图、Tensor/TensorDesc/DataType、通用PluginContext。 ## 变更类型 - [x] ✨ 新功能 ## 关联的Issue 依赖PR1 #4421(native bindings),当前为stacked PR。 ## 如何测试 1. 编译ge_python_onnx_plugin_bridge和fmk_onnx_parser目标 2. 编译ut_parser并运行OnnxPythonPluginBridge测试用例 3. 设置ASCEND_CUSTOM_OPP_PATH指向测试Python插件,验证真实ONNX parser闭环 ## 核对清单 - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 - 工作代码约221行,测试代码约168行,未超出PR2预算 - bridge为独立SO,不进入graph_metadef,不向Python暴露protobuf指针 - 未修改生产native OnnxNode模块,未增加测试工厂 - 本地编译通过:ge_python_onnx_plugin_bridge、fmk_onnx_parser、ut_parser - pre-commit全部通过 See merge request: cann/ge!4455 | 14 天前 | |
fix: Python 自定义算子与 C++ 侧上下文传递机制的修复 Co-authored-by: lfz2812<220252399@seu.edu.cn> # message auto-generated for no-merge-commit merge: !4552 merge fix1 into develop fix: Python 自定义算子与 C++ 侧上下文传递机制的修复 Created-by: lfz2812 Commit-by: lfz2812 Merged-by: cann-robot Description: # Pull Request ## 描述 将原本以 uintptr_t 整数地址传递的上下文句柄改为带类型名的 py::capsule,并在 C++ 侧对 capsule 指针与名称进行校验;同时补充了张量拷贝语义、InferShape 输出 shape 的空指针保护,并用类型安全的 PtrToPtr 转换替代 reinterpret_cast,整体提升自定义算子在编译期推理与运行时执行流程中的健壮性。 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新功能 - [x] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 描述测试此变更的步骤和前提条件: 1. 2. ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如: feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 无 See merge request: cann/ge!4552 | 12 天前 | |
fix mutex for is_dump_server_inited_ | 11 天前 | |
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 个月前 |