| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
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 | 16 天前 | |
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 | 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 | 2 个月前 |
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 16 天前 | ||
| 1 天前 | ||
| 2 个月前 |