| feat: 新增aclmdlSetAttr/aclmdlGetAttr接口支持V1静态图模型流优先级设置
Co-authored-by: Chang-an-HW<machangan@huawei.com>
# message auto-generated for no-merge-commit merge:
!3280 merge fe_static_graph_priority into develop
feat: 新增aclmdlSetAttr/aclmdlGetAttr接口支持V1静态图模型流优先级设置
Created-by: Chang-an-HW
Commit-by: Chang-an-HW
Merged-by: cann-robot
Description: # Pull Request
## 描述
20251029评审通过
实现 ACL 对外接口 aclmdlSetAttr/aclmdlGetAttr,支持静态图 V1(DavinciModel)模型加载后设置/获取 GE 自建 stream 的调度优先级。
**架构**: ACL 对外提供 aclmdlSetAttr/aclmdlGetAttr,通过 attr handler 表分发到 priority handler,handler 调用 ModelManager::SetModelStreamPriority/GetModelStreamPriority,最终由 DavinciModel 收集自建 stream 并调用 RTS 设置。
## 变更类型
- [x] ✨ 新功能
## 关联的Issue
无
## 变更文件
| 文件 | 变更说明 |
|------|------|
| inc/external/acl/acl_mdl.h | 新增 aclmdlAttr 枚举、aclmdlSetAttr/aclmdlGetAttr 声明 |
| api/acl/acl_model/model/model_common.h | 新增 AclMdlAttrHandler 分发结构体 |
| api/acl/acl_model/model/model_common.cpp | 实现 priority 参数校验 handler、分发表、lookup 函数 |
| api/acl/acl_model/model/acl_model.cpp | 实现 aclmdlSetAttr/aclmdlGetAttr 包装函数 |
| runtime/v1/.../model_manager.h/.cc | 新增 SetModelStreamPriority/GetModelStreamPriority |
| runtime/v1/.../davinci_model.h/.cc | 新增 stream_priority_ 缓存、CollectOwnedStreams、SetStreamPriority/GetStreamPriority |
| tests/acl_ut/.../acl_model_attr_test.cpp | ACL 参数校验 UT(13 用例) |
| tests/ge/ut/.../davinci_model_priority_test.cc | DavinciModel 优先级 UT(6 用例) |
## 核对清单
- [x] 我的代码遵循了项目的代码风格
- [x] 我已对代码进行了自测(生产构建通过)
- [x] 我已在标题中使用了合适的类型标签
- [x] 遵循编码红线规范,无违规项
## 注意事项
1. **RTS 接口依赖**: DavinciModel::SetStreamPriority 中 RTS 调用暂用 TODO 占位,rtsStreamSetAttribute 接口就绪后替换即可
2. **stream_priority_mutex_ 已声明为 mutable**: 支持 const 方法调用
3. 编译验证: build.sh --ge_executor 通过,产出 cann-ge-executor_9.1.0_linux-aarch64.run
See merge request: cann/ge!3280 | 1 天前 |