| 【PR】: refactor: 拆分 MsqOperatorManager 模块并接入 msq so 调用
Co-authored-by: zhaowenrui666<zhaowenrui7@huawei.com>
# message auto-generated for no-merge-commit merge:
!2378 merge msqope into master
【PR】: refactor: 拆分 MsqOperatorManager 模块并接入 msq so 调用
Created-by: zhaowenrui666
Commit-by: zhaowenrui666
Merged-by: cann-robot
Description: # Pull Request
## 描述
本次 PR 对 aicpu_schedule 中 message queue 的 msq so 调用路径进行整理,并拆分 MsqOperatorManager 独立模块。
主要修改内容如下:
1. 新增独立模块:
- core/aicpusd_msq_operator_manager.h
- core/aicpusd_msq_operator_manager.cpp
2. 由 MsqOperatorManager 统一负责 libaicpu_msq_operator.so 的 dlopen/dlsym、符号管理以及 CallV1* / CallV2* 调用收口。
3. MsqImplV1/V2 改为通过 MsqOperatorManager 调用对应 MsqV1* / MsqV2* 符号。
4. LoadAllSymbols 调整为基于 map 的符号表加载方式,MSQ_OPERATOR_SO_NAME 调整为 std::string。
5. 更新 aicpu_schedule/CMakeLists.txt,将新增源文件纳入构建。
6. 在 MsqOperatorManager 调用收口位置补充函数级维测日志。
本次修改不改变现有 MsqImplV1/V2 的接口语义,主要用于增强代码模块隔离性和后续可维护性。
## 变更类型
请选择本次引入的变更类型:
- [ ] 🐛 Bug 修复
- [ ] ✨ 新功能
- [ ] 💄 代码风格更新(格式化,局部变量)
- [x] ♻️ 重构(既不修复错误也不增加功能的代码变动)
- [x] 📦 构建过程或辅助工具的变动
- [ ] 📝 文档内容更新
## 关联的Issue
无
## 如何测试
描述测试此变更的步骤和前提条件:
1. 在 runtime/build 目录执行:
cmake --build /home/jiumao/open/runtime/build --target host_aicpu_scheduler_so queue_schedule_so -j4
2. 确认以下目标编译并链接成功:
- host_aicpu_scheduler_so
- queue_schedule_so
3. 确认新增模块已正确参与构建,并且 aicpusd_message_queue.cpp 能正常引用 MsqOperatorManager。
## 核对清单
- [x] 我的代码遵循了项目的代码风格
- [x] 我已对代码进行了自测
- [x] 我已更新了相关的文档
- [x] 我在标题中使用了合适的类型标签(如:feat:, fix:)
- [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等
## 其他信息
本次构建验证已通过,验证命令如下:
cmake --build /home/jiumao/open/runtime/build --target host_aicpu_scheduler_so queue_schedule_so -j4
说明:
- 本次补充的是函数级维测日志,统一放在 MsqOperatorManager 调用封装结尾。
- 当前未在 so 内部增加寄存器级日志,后续如需进一步增强寄存器维测,可在 libaicpu_msq_operator.so 内部继续补充。
See merge request: cann/runtime!2378 | 2 天前 |