| [feat]新增device_utils和affinity,为aclgraph提供硬件信息查询能力和cpu绑核能力
Co-authored-by: zhaokerui<zhaokerui@huawei.com>
# message auto-generated for no-merge-commit merge:
!175 merge move_aff into dev
[feat]新增device_utils和affinity,为aclgraph提供硬件信息查询能力和cpu绑核能力
Created-by: zhaokerui
Commit-by: zhaokerui
Merged-by: ascend-robot
Description: <!--
PR描述模板更新日期:20251225
-->
# 合入背景
> Fixes#104
# 修改内容
> 1. 新增affinity.py开放bind_cpus(ratio: float)接口提供绑核能力
> 2. 优化npu_utils模块,把原来在PlatformInfo中支持的接口移动至_NPUNodeInfo,新增visible_device_ids, get_device_info_map, get_pcie_info接口,并把单例类改成私有,须使用get_npu_node_info访问单例。
> 3. 新增get_npu_hbm_info 接口访问_NPUHbmInfo单例。
> 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容)。
# 资料变更
> 不涉及
# 接口变更
> 不涉及
# 测试结果
> aclgraph qwen3,dsv3.2功能验证完成
# CheckList
> PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x]。
- [x] 代码注释完备
- [x] 正确记录错误日志
- [x] 进行了返回值校验 (禁止使用void屏蔽安全函数、自研函数返回值;考虑接口的异常场景;调用底层组件接口时,需要进行返回值校验)
- [x] 进行了空指针校验
- [x] 若存在资源申请,使用后资源被正确的释放了
- [x] 若涉及多线程场景,考虑了并发场景,不存在死锁问题
- [x] 按照[代码仓中提供的格式模板](https://gitcode.com/Ascend/MindIE-LLM/blob/master/.clang-format),使用clang-format工具格式化代码
- [x] 符合Ascend社区的编码规范。[C++ 语言编程指导](https://gitcode.com/Ascend/community/blob/master/docs/contributor/Ascend-cpp-coding-style-guide.md) | [C++ 语言安全编程指导](https://gitcode.com/Ascend/community/blob/master/docs/contributor/Ascend-cpp-secure-coding-guide.md)
See merge request: Ascend/MindIE-LLM!175 | 4 个月前 |