| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
fix(om2): 重命名 runtime/om2 下与 base/ 重复的头文件和源文件 Co-authored-by: wuzheng-hw<wuzheng14@huawei.com> # message auto-generated for no-merge-commit merge: !4470 merge om2_format_headfile_dup_fix into develop fix(om2): 重命名 runtime/om2 下与 base/ 重复的头文件和源文件 Created-by: wuzheng-hw Commit-by: wuzheng-hw Merged-by: cann-robot Description: # Pull Request ## 描述 提交 f35963b72 引入了变量格式转换和类型转换功能,在 runtime/om2/common/ 和 runtime/om2/formats/ 目录下新增了头文件和源文件。这些文件是从 base/common/ 和 base/formats/ 拷贝的,导致仓库中出现相同名称的头文件(24对重复文件),header guard 也完全相同。 本次修改: - 将 runtime/om2/ 下 24 对重复的 .h/.cc 文件重命名,添加 om2_ 前缀 - 更新所有 #include 引用路径指向新文件名 - 更新 header guard 宏名,添加 OM2_ 前缀消除与 base/ 版本的冲突 - 已验证 ge_executor 和 ge_compiler 构建通过 ## 变更类型 - [x] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue ## 如何测试 1. 构建 ge_executor 和 ge_compiler,确认编译通过 2. 检查仓库中不再存在同名头文件(base/ 和 runtime/om2/ 下) 3. 运行 om2 相关 UT 用例确认功能不受影响 ## 核对清单 - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定 ## 其他信息 涉及 48 个文件变更(24 对 .h/.cc 文件重命名 + include 路径和 header guard 更新)。 See merge request: cann/ge!4470 | 6 天前 | |
feat: OM2 so C 接口整改 Co-authored-by: fanrui<fary.fanrui@huawei.com> # message auto-generated for no-merge-commit merge: !4559 merge dev_om2_interface_part2 into develop feat: OM2 so C 接口整改 Created-by: fary86 Commit-by: fanrui Merged-by: cann-robot Description: # Pull Request ## 描述 本 PR( feat: remove Om2Tensor)将 OM2 模型的对外加载/运行接口从旧的 Om2ModelCreate/Om2ModelLoad/Om2ModelRun/Om2ModelRunAsync/Om2ModelDestroy 一套分离式 API,重构为统一使用 Config/Output 结构体的 GertModelLoad/GertModelRun/GertModelRunAsync/GertModelUnload 新接口,模型句柄类型 om2::Om2ModelHandle 相应更名为 GertModelHandle;codegen 代码生成、Om2ModelExecutor 执行器及对应单元/集成测试的 mock 接口均同步适配。 **主要改动** - **接口重构为统一 Config/Output 结构体**: 新增 GertModelLoadConfig、GertModelRunConfig、GertModelUnloadConfig 与 GertModelLoadOutput、GertModelRunOutput、GertModelUnloadOutput 六个结构体,首字段均为 struct_size 版本号,将原 Om2ModelCreate 的众多分散参数合并到 GertModelLoadConfig 中;GertModelLoad 将原 Create+Load 两步合并,GertModelUnload 取代 Om2ModelDestroy。 - **句柄类型重命名**: om2::Om2ModelHandle 全局替换为 GertModelHandle(仍为 void * 类型别名),同时移除 interface_file_code_generator 中的 BuildOm2ModelHandleAlias、BuildOm2ProfInfosStruct 等构造函数及 program_generator.cc 中对应生成逻辑。 - **Om2ProfInfos 结构调整**: model_dump_c_api.h 中将 version/count 字段由 uint32_t 改为 uint64_t struct_size/uint64_t count,并补充默认初始化值。 - **Om2ModelExecutor 适配新接口**: runtime/om2/om2_model_executor.cc 中 ResolveSymbols 改为按新符号名 GertModelLoad/GertModelRun/GertModelRunAsync/GertModelUnload 解析,加载流程用 GertModelLoadConfig 组装参数并通过 GertModelLoadOutput 回传 rt_model_handle,同步/异步运行改为传入 config/output 结构体,资源释放改用 unload_func,并移除独立的 LoadModel() 方法。 - **codegen 生成内容与测试同步更新**: stable_part_provider.cc 中新增生成 GertModelLoad/GertModelRun/GertModelRunAsync/GertModelUnload 及上述结构体的代码(底层仍转发调用 Om2ModelCreate 等实现),多个 UT/ST 测试(如 test_om2.cc、control_task_code_builder_unittest.cc、om2_model_executor_unittest.cc 等)的 mock .so 源码与断言均改为新接口。 ## 变更类型 请选择本次引入的变更类型: <!-- [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!4559 | 8 小时前 | |
fix(om2): 重命名 runtime/om2 下与 base/ 重复的头文件和源文件 Co-authored-by: wuzheng-hw<wuzheng14@huawei.com> # message auto-generated for no-merge-commit merge: !4470 merge om2_format_headfile_dup_fix into develop fix(om2): 重命名 runtime/om2 下与 base/ 重复的头文件和源文件 Created-by: wuzheng-hw Commit-by: wuzheng-hw Merged-by: cann-robot Description: # Pull Request ## 描述 提交 f35963b72 引入了变量格式转换和类型转换功能,在 runtime/om2/common/ 和 runtime/om2/formats/ 目录下新增了头文件和源文件。这些文件是从 base/common/ 和 base/formats/ 拷贝的,导致仓库中出现相同名称的头文件(24对重复文件),header guard 也完全相同。 本次修改: - 将 runtime/om2/ 下 24 对重复的 .h/.cc 文件重命名,添加 om2_ 前缀 - 更新所有 #include 引用路径指向新文件名 - 更新 header guard 宏名,添加 OM2_ 前缀消除与 base/ 版本的冲突 - 已验证 ge_executor 和 ge_compiler 构建通过 ## 变更类型 - [x] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue ## 如何测试 1. 构建 ge_executor 和 ge_compiler,确认编译通过 2. 检查仓库中不再存在同名头文件(base/ 和 runtime/om2/ 下) 3. 运行 om2 相关 UT 用例确认功能不受影响 ## 核对清单 - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定 ## 其他信息 涉及 48 个文件变更(24 对 .h/.cc 文件重命名 + include 路径和 header guard 更新)。 See merge request: cann/ge!4470 | 6 天前 | |
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 | 14 天前 | |
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 | 14 天前 | |
fix: 修复OM2在线编译执行路径中的多个缺陷 Co-authored-by: wuzheng-hw<wuzheng14@huawei.com> # message auto-generated for no-merge-commit merge: !4122 merge fix/om2_online_bugs into develop fix: 修复OM2在线编译执行路径中的多个缺陷 Created-by: wuzheng-hw Commit-by: wuzheng-hw Merged-by: cann-robot Description: ## 描述 修复 OM2 在线编译执行路径(commit 5f0e4c3d)中发现的多个缺陷,包括输出回写缺失、错误码映射异常、性能优化和 JSON 访问规范化。 ### 主要变更 1. **RunGraphWithStream OM2 路径**:添加 GertTensors2GeTensors 反向转换,修复输出未回写问题 2. **GetOm2ModelData**:将 std::abort() 替换为 throw std::runtime_error 3. **Load(ModelData&) 错误码**:使用显式 if 检查返回 ACL_ERROR_GE_PARAM_INVALID(145000),替代 GE_ASSERT_TRUE 返回的 PARAM_INVALID(1343225857) 导致 ACL 错误码映射为通用 500002 4. **Om2ModelLoadArg 字段扩展**:新增 weight_path/key/priority 字段,完善从 ModelData 到 LoadArg 的字段透传 5. **ResolveFileConstWeightDir 签名优化**:参数从 ModelData& 改为 (weight_path, om_path) 字符串,消除不必要的中间对象构造 6. **DeserializeDebugInfoFromArchive 性能优化**:合并两个独立循环为单循环 7. **DeserializeOm2ModelDataFromArchive 性能优化**:按目录前缀分类 entries,各子函数仅遍历自己目录下的文件,从 O(7N) 降为 O(N) 8. **JSON 访问规范化**:ParseTensorDescFromJson 签名改为 const JsonFile&,consts 解析统一使用 JsonFile::Get() 封装 ## 变更类型 - [x] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [x] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 如何测试 1. 编译 ut_libge_distinct_load_utest target 2. 执行全部 1778 个用例,全部 PASSED(含 Om2ModelExecutorUt 55 cases、FileConstLoaderUt 18 cases) ## 核对清单 - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 See merge request: cann/ge!4122 | 30 天前 | |
【feat】: om2 支持aipp Co-authored-by: lidaoming1<lidaoming1@huawei.com> # message auto-generated for no-merge-commit merge: !4082 merge om2_aipp into develop 【feat】: om2 支持aipp Created-by: lidaoming1 Commit-by: lidaoming1 Merged-by: cann-robot Description: # Pull Request ## 描述 变更摘要 本次 PR 为 OM2 模型执行模式实现了完整的动态 AIPP(AI 预处理)支持。此前 OM2 路径下的 AIPP 相关接口均返回 ACL_ERROR_API_NOT_SUPPORT,本次变更将这些接口全部实现,涵盖编译期元数据提取、运行时 AIPP 查询与设置、以及设备端参数下发。同时,将原 OM1 专属文件中定义的一组静态辅助函数(如 SetAippInfo、GetNpuArch、SetIODims 及调试字符串函数)抽取到 model_common 模块,供 OM1 与 OM2 路径共享。 主要改动 实现 OM2 AIPP 核心接口:aclmdlSetInputAIPPImplOm2、aclmdlSetAIPPByInputIndexImplOm2、aclmdlGetAippTypeImplOm2、aclmdlGetFirstAippInfoImplOm2 从返回 ACL_ERROR_API_NOT_SUPPORT 的桩函数变为完整实现,包含索引校验、AIPP 类型检查、参数验证、输出形状校验及通过 Om2ModelExecutor::SetDynamicAippData 将参数拷贝至设备端。 抽取共享 AIPP 工具函数至 model_common:将 SetAippInfo、GetNpuArch、SetIODims、AippInfoDebugString、DimsDebugString、AippDimsDebugString、AippParmsDebugString、AippBatchParaDebugString 从 acl_aipp.cpp 的匿名命名空间移至 model_common.cpp/.h 的 acl 命名空间,供 OM1 和 OM2 路径共用。 新增 AIPP 元数据结构与编译期序列化:在 om2_model_data.h 中定义 Om2AippMeta 结构体,在 Om2ModelMeta 中增加 aipp_infos、is_dynamic_aipp、has_aipp 字段;在 om2_package_helper.cc 中新增 FillAippModelMetaInfo 函数,从模型图中提取 AIPP 配置信息并写入 model_meta.json。 运行时 AIPP 元数据解析与查询:在 om2_model_executor.cc 中实现 ParseAippJson 等 JSON 解析函数,以及 GetAippInfo、GetAippType、GetOrigInputInfo、GetAllAippInputOutputDims、IsDynamicAipp、GetBatchInfoSize、SetDynamicAippData 方法,完整支持 AIPP 信息的运行时查询与动态参数下发。 移除 OM2 编译期对动态 AIPP 的拦截:删除 ge_ir_build.cc 中 InsertAippOpUtil::ValidateStaticAippOnly 调用,允许 OM2 构建模式使用动态 AIPP。 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 描述测试此变更的步骤和前提条件: 1. 2. ## 核对清单 <!-- [x] 表示选中 --> - [ ] 我的代码遵循了项目的代码风格 - [ ] 我已对代码进行了自测 - [ ] 我已更新了相关的文档 - [ ] 我在标题中使用了合适的类型标签(如: feat:, fix:) - [ ] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/ge!4082 | 30 天前 | |
【feat】: om2 支持aipp Co-authored-by: lidaoming1<lidaoming1@huawei.com> # message auto-generated for no-merge-commit merge: !4082 merge om2_aipp into develop 【feat】: om2 支持aipp Created-by: lidaoming1 Commit-by: lidaoming1 Merged-by: cann-robot Description: # Pull Request ## 描述 变更摘要 本次 PR 为 OM2 模型执行模式实现了完整的动态 AIPP(AI 预处理)支持。此前 OM2 路径下的 AIPP 相关接口均返回 ACL_ERROR_API_NOT_SUPPORT,本次变更将这些接口全部实现,涵盖编译期元数据提取、运行时 AIPP 查询与设置、以及设备端参数下发。同时,将原 OM1 专属文件中定义的一组静态辅助函数(如 SetAippInfo、GetNpuArch、SetIODims 及调试字符串函数)抽取到 model_common 模块,供 OM1 与 OM2 路径共享。 主要改动 实现 OM2 AIPP 核心接口:aclmdlSetInputAIPPImplOm2、aclmdlSetAIPPByInputIndexImplOm2、aclmdlGetAippTypeImplOm2、aclmdlGetFirstAippInfoImplOm2 从返回 ACL_ERROR_API_NOT_SUPPORT 的桩函数变为完整实现,包含索引校验、AIPP 类型检查、参数验证、输出形状校验及通过 Om2ModelExecutor::SetDynamicAippData 将参数拷贝至设备端。 抽取共享 AIPP 工具函数至 model_common:将 SetAippInfo、GetNpuArch、SetIODims、AippInfoDebugString、DimsDebugString、AippDimsDebugString、AippParmsDebugString、AippBatchParaDebugString 从 acl_aipp.cpp 的匿名命名空间移至 model_common.cpp/.h 的 acl 命名空间,供 OM1 和 OM2 路径共用。 新增 AIPP 元数据结构与编译期序列化:在 om2_model_data.h 中定义 Om2AippMeta 结构体,在 Om2ModelMeta 中增加 aipp_infos、is_dynamic_aipp、has_aipp 字段;在 om2_package_helper.cc 中新增 FillAippModelMetaInfo 函数,从模型图中提取 AIPP 配置信息并写入 model_meta.json。 运行时 AIPP 元数据解析与查询:在 om2_model_executor.cc 中实现 ParseAippJson 等 JSON 解析函数,以及 GetAippInfo、GetAippType、GetOrigInputInfo、GetAllAippInputOutputDims、IsDynamicAipp、GetBatchInfoSize、SetDynamicAippData 方法,完整支持 AIPP 信息的运行时查询与动态参数下发。 移除 OM2 编译期对动态 AIPP 的拦截:删除 ge_ir_build.cc 中 InsertAippOpUtil::ValidateStaticAippOnly 调用,允许 OM2 构建模式使用动态 AIPP。 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 描述测试此变更的步骤和前提条件: 1. 2. ## 核对清单 <!-- [x] 表示选中 --> - [ ] 我的代码遵循了项目的代码风格 - [ ] 我已对代码进行了自测 - [ ] 我已更新了相关的文档 - [ ] 我在标题中使用了合适的类型标签(如: feat:, fix:) - [ ] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/ge!4082 | 30 天前 | |
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 | 1 个月前 | |
【PR】:【Feat】OM2支持外置权重及控制类算子 Co-authored-by: 谢正恺<xiezhengkai@huawei.com> Co-authored-by: lidaoming1<lidaoming1@huawei.com> # message auto-generated for no-merge-commit merge: !1881 merge om2_0415_stories_control_task into develop 【PR】:【Feat】OM2支持外置权重及控制类算子 Created-by: ClarkXie Commit-by: lidaoming1;谢正恺 Merged-by: cann-robot Description: # Pull Request ## 描述 1. 优化了 OM2 代码生成架构,将原先集中式的生成逻辑演进为语法树、分文件生成、task 构建和稳定代码片段等模块化流程,降低生成链路耦合。 2. 支持外置权重和文件常量加载,补齐文件常量解析、外部权重管理、压缩包读取、线程池和运行时加载链路。 3. 支持 control task,包括event/notify、label、stream active等控制类任务,并打通模型语义构建到运行代码生成的流程。 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [x] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 描述测试此变更的步骤和前提条件: 1. 对于外置权重,可以通过atc的--external_weight=1/2和--mode=7去编译出对应om2并使用aclmdlLoad相关接口加载执行 2. 对于控制类算子,需要构造图中有控制类算子的场景,并通过atc --mode=7转出om2并使用acl接口加载执行验证 ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如: feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/ge!1881 | 4 个月前 | |
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 | 14 天前 | |
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 | 1 个月前 | |
【PR】:【Feat】OM2支持外置权重及控制类算子 Co-authored-by: 谢正恺<xiezhengkai@huawei.com> Co-authored-by: lidaoming1<lidaoming1@huawei.com> # message auto-generated for no-merge-commit merge: !1881 merge om2_0415_stories_control_task into develop 【PR】:【Feat】OM2支持外置权重及控制类算子 Created-by: ClarkXie Commit-by: lidaoming1;谢正恺 Merged-by: cann-robot Description: # Pull Request ## 描述 1. 优化了 OM2 代码生成架构,将原先集中式的生成逻辑演进为语法树、分文件生成、task 构建和稳定代码片段等模块化流程,降低生成链路耦合。 2. 支持外置权重和文件常量加载,补齐文件常量解析、外部权重管理、压缩包读取、线程池和运行时加载链路。 3. 支持 control task,包括event/notify、label、stream active等控制类任务,并打通模型语义构建到运行代码生成的流程。 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [x] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 描述测试此变更的步骤和前提条件: 1. 对于外置权重,可以通过atc的--external_weight=1/2和--mode=7去编译出对应om2并使用aclmdlLoad相关接口加载执行 2. 对于控制类算子,需要构造图中有控制类算子的场景,并通过atc --mode=7转出om2并使用acl接口加载执行验证 ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如: feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/ge!1881 | 4 个月前 | |
【PR】:【fix】OM2优化合并外置权重加载性能 Co-authored-by: 谢正恺<xiezhengkai@huawei.com> # message auto-generated for no-merge-commit merge: !3359 merge om2_load_optimize into develop 【PR】:【fix】OM2优化合并外置权重加载性能 Created-by: ClarkXie Commit-by: 谢正恺 Merged-by: cann-robot Description: # Pull Request ## 描述 优化om2加载时处理合并外置权重读取和memcpy逻辑,改为分片的方式,优化性能。 ## 变更类型 请选择本次引入的变更类型: <!-- [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!3359 | 2 个月前 | |
【PR】:【fix】OM2优化合并外置权重加载性能 Co-authored-by: 谢正恺<xiezhengkai@huawei.com> # message auto-generated for no-merge-commit merge: !3359 merge om2_load_optimize into develop 【PR】:【fix】OM2优化合并外置权重加载性能 Created-by: ClarkXie Commit-by: 谢正恺 Merged-by: cann-robot Description: # Pull Request ## 描述 优化om2加载时处理合并外置权重读取和memcpy逻辑,改为分片的方式,优化性能。 ## 变更类型 请选择本次引入的变更类型: <!-- [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!3359 | 2 个月前 | |
feat: OM2 so C 接口整改 Co-authored-by: fanrui<fary.fanrui@huawei.com> # message auto-generated for no-merge-commit merge: !4559 merge dev_om2_interface_part2 into develop feat: OM2 so C 接口整改 Created-by: fary86 Commit-by: fanrui Merged-by: cann-robot Description: # Pull Request ## 描述 本 PR( feat: remove Om2Tensor)将 OM2 模型的对外加载/运行接口从旧的 Om2ModelCreate/Om2ModelLoad/Om2ModelRun/Om2ModelRunAsync/Om2ModelDestroy 一套分离式 API,重构为统一使用 Config/Output 结构体的 GertModelLoad/GertModelRun/GertModelRunAsync/GertModelUnload 新接口,模型句柄类型 om2::Om2ModelHandle 相应更名为 GertModelHandle;codegen 代码生成、Om2ModelExecutor 执行器及对应单元/集成测试的 mock 接口均同步适配。 **主要改动** - **接口重构为统一 Config/Output 结构体**: 新增 GertModelLoadConfig、GertModelRunConfig、GertModelUnloadConfig 与 GertModelLoadOutput、GertModelRunOutput、GertModelUnloadOutput 六个结构体,首字段均为 struct_size 版本号,将原 Om2ModelCreate 的众多分散参数合并到 GertModelLoadConfig 中;GertModelLoad 将原 Create+Load 两步合并,GertModelUnload 取代 Om2ModelDestroy。 - **句柄类型重命名**: om2::Om2ModelHandle 全局替换为 GertModelHandle(仍为 void * 类型别名),同时移除 interface_file_code_generator 中的 BuildOm2ModelHandleAlias、BuildOm2ProfInfosStruct 等构造函数及 program_generator.cc 中对应生成逻辑。 - **Om2ProfInfos 结构调整**: model_dump_c_api.h 中将 version/count 字段由 uint32_t 改为 uint64_t struct_size/uint64_t count,并补充默认初始化值。 - **Om2ModelExecutor 适配新接口**: runtime/om2/om2_model_executor.cc 中 ResolveSymbols 改为按新符号名 GertModelLoad/GertModelRun/GertModelRunAsync/GertModelUnload 解析,加载流程用 GertModelLoadConfig 组装参数并通过 GertModelLoadOutput 回传 rt_model_handle,同步/异步运行改为传入 config/output 结构体,资源释放改用 unload_func,并移除独立的 LoadModel() 方法。 - **codegen 生成内容与测试同步更新**: stable_part_provider.cc 中新增生成 GertModelLoad/GertModelRun/GertModelRunAsync/GertModelUnload 及上述结构体的代码(底层仍转发调用 Om2ModelCreate 等实现),多个 UT/ST 测试(如 test_om2.cc、control_task_code_builder_unittest.cc、om2_model_executor_unittest.cc 等)的 mock .so 源码与断言均改为新接口。 ## 变更类型 请选择本次引入的变更类型: <!-- [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!4559 | 8 小时前 | |
feat(om2): 支持host tensor H2D/D2H并优化model_executor体积 Co-authored-by: wuzheng-hw<wuzheng14@huawei.com> # message auto-generated for no-merge-commit merge: !4389 merge 0813 into develop feat(om2): 支持host tensor H2D/D2H并优化model_executor体积 Created-by: wuzheng-hw Commit-by: wuzheng-hw Merged-by: cann-robot Description: # Pull Request ## 描述 支持 OM2 在线场景下 host tensor 的 H2D/D2H 拷贝,并对 model_executor 进行体积优化,确保 libge_executor.so 不超限。 主要变更: - 加回 host tensor 支持: LoadOm2Graph 添加 SetDevice,RunOm2Graph 支持 host input/output 的 H2D/D2H 拷贝 - 消除 om2_graph_to_model_map_ 和 om2_map_mutex_,改用 GeRootModel 存储 model_id(与 OM1 设计一致) - 内联 DoReleaseModel,直接调用 ReleaseMemory - 简化 UnloadGraph,去掉冗余的 graph_node 查找 - 删除 RunModel 中冗余的 executor nullptr 检查 - 删除 RunThread 中 is_continue 死代码 - 删除 graph_executor.h 中未使用的 SyncExecuteModelFunc/AsyncExecuteModelFunc 类型别名 - 更新 UT/ST 测试用例适配新接口 体积影响:libge_executor.so 与基线持平(0 bytes 增量) ## 变更类型 - [ ] 🐛 Bug 修复 - [x] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [x] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue ## 如何测试 1. 运行 UT 用例:model_executor_unittest 2. 运行 ST 用例:test_om2_online 3. 验证 libge_executor.so 大小不超过基线 ## 核对清单 - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定 ## 其他信息 本次变更基于 commit 0ebf3107d。 See merge request: cann/ge!4389 | 11 天前 | |
feat(om2): 支持在线场景模型编译与执行 Co-authored-by: wuzheng-hw<wuzheng14@huawei.com> # message auto-generated for no-merge-commit merge: !3852 merge om2_online_interface into develop feat(om2): 支持在线场景模型编译与执行 Created-by: wuzheng-hw Commit-by: wuzheng-hw Merged-by: cann-robot Description: # Pull Request ## 描述 支持 OM2 在线场景模型编译与执行链路,补充 OM2 模型数据结构、模型打包辅助能力、运行时模型管理与执行器适配,并增加对应 UT/ST 覆盖。 主要变更: - 新增 gert::Om2ModelData,用于承载 OM2 在线编译产物的内存态模型数据。 - 调整 OM2 包构建流程,将模型数据构建与 Zip 序列化拆分,便于在线场景复用。 - 接入 GraphManager、ModelExecutor、Om2ModelManager 的 OM2 在线加载、运行和卸载链路。 - 对 OM2 在线模式暂不支持的 session/graph 接口增加显式 unsupported 返回路径。 - 补充 OM2 model data、package helper、model manager、model executor、session/graph manager 相关 UT/ST。 ## 变更类型 - [ ] 🐛 Bug 修复 - [x] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [x] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue 无 ## 如何测试 - 已补充/更新 OM2 在线场景 ST:tests/ge/st/testcase/test_om2_online.cc - 已补充/更新 OM2 model data、package helper、model manager、model executor、session、graph manager 相关 UT - 本次信息更新前未重新运行本地 UT/ST ## 核对清单 - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测(本次信息更新前未重新运行本地 UT/ST) - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md) ## 其他信息 本次变更基于本地分支 om2_online_interface 的提交 dd185c17dd43ab22fbbdfe2ba3151412238543e0。 See merge request: cann/ge!3852 | 1 个月前 | |
fix(om2): 重命名 runtime/om2 下与 base/ 重复的头文件和源文件 Co-authored-by: wuzheng-hw<wuzheng14@huawei.com> # message auto-generated for no-merge-commit merge: !4470 merge om2_format_headfile_dup_fix into develop fix(om2): 重命名 runtime/om2 下与 base/ 重复的头文件和源文件 Created-by: wuzheng-hw Commit-by: wuzheng-hw Merged-by: cann-robot Description: # Pull Request ## 描述 提交 f35963b72 引入了变量格式转换和类型转换功能,在 runtime/om2/common/ 和 runtime/om2/formats/ 目录下新增了头文件和源文件。这些文件是从 base/common/ 和 base/formats/ 拷贝的,导致仓库中出现相同名称的头文件(24对重复文件),header guard 也完全相同。 本次修改: - 将 runtime/om2/ 下 24 对重复的 .h/.cc 文件重命名,添加 om2_ 前缀 - 更新所有 #include 引用路径指向新文件名 - 更新 header guard 宏名,添加 OM2_ 前缀消除与 base/ 版本的冲突 - 已验证 ge_executor 和 ge_compiler 构建通过 ## 变更类型 - [x] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue ## 如何测试 1. 构建 ge_executor 和 ge_compiler,确认编译通过 2. 检查仓库中不再存在同名头文件(base/ 和 runtime/om2/ 下) 3. 运行 om2 相关 UT 用例确认功能不受影响 ## 核对清单 - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定 ## 其他信息 涉及 48 个文件变更(24 对 .h/.cc 文件重命名 + include 路径和 header guard 更新)。 See merge request: cann/ge!4470 | 6 天前 | |
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 | 14 天前 | |
【PR】:【Feat】OM2支持外置权重及控制类算子 Co-authored-by: 谢正恺<xiezhengkai@huawei.com> Co-authored-by: lidaoming1<lidaoming1@huawei.com> # message auto-generated for no-merge-commit merge: !1881 merge om2_0415_stories_control_task into develop 【PR】:【Feat】OM2支持外置权重及控制类算子 Created-by: ClarkXie Commit-by: lidaoming1;谢正恺 Merged-by: cann-robot Description: # Pull Request ## 描述 1. 优化了 OM2 代码生成架构,将原先集中式的生成逻辑演进为语法树、分文件生成、task 构建和稳定代码片段等模块化流程,降低生成链路耦合。 2. 支持外置权重和文件常量加载,补齐文件常量解析、外部权重管理、压缩包读取、线程池和运行时加载链路。 3. 支持 control task,包括event/notify、label、stream active等控制类任务,并打通模型语义构建到运行代码生成的流程。 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [x] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 描述测试此变更的步骤和前提条件: 1. 对于外置权重,可以通过atc的--external_weight=1/2和--mode=7去编译出对应om2并使用aclmdlLoad相关接口加载执行 2. 对于控制类算子,需要构造图中有控制类算子的场景,并通过atc --mode=7转出om2并使用acl接口加载执行验证 ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如: feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/ge!1881 | 4 个月前 | |
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 | 1 个月前 | |
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 | 14 天前 | |
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 | 14 天前 | |
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 | 14 天前 |
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 6 天前 | ||
| 8 小时前 | ||
| 6 天前 | ||
| 14 天前 | ||
| 14 天前 | ||
| 30 天前 | ||
| 30 天前 | ||
| 30 天前 | ||
| 1 个月前 | ||
| 4 个月前 | ||
| 14 天前 | ||
| 1 个月前 | ||
| 4 个月前 | ||
| 2 个月前 | ||
| 2 个月前 | ||
| 8 小时前 | ||
| 11 天前 | ||
| 1 个月前 | ||
| 6 天前 | ||
| 14 天前 | ||
| 4 个月前 | ||
| 1 个月前 | ||
| 14 天前 | ||
| 14 天前 | ||
| 14 天前 |