| refactor: 替换rt内存接口为aclrt接口
Co-authored-by: tangqunzhang<tangqunzhang@huawei.com>
# message auto-generated for no-merge-commit merge:
!2169 merge develop into develop
refactor: 替换rt内存接口为aclrt接口
Created-by: tangqunzhang
Commit-by: tangqunzhang
Merged-by: cann-robot
Description: # Pull Request
## 描述
将 GE 项目中的 rt 内存分配接口替换为新的 aclrt 接口,同时保留 moduleId 特性传递。
### 主要变更
#### 1. 新增辅助模块
- 新增 base/common/aclrt_malloc_helper.h 封装辅助函数声明
- 头文件不依赖 runtime/rt.h,使用 using rtMemType_t = uint32_t; 自行定义类型别名
- 新增 base/common/aclrt_malloc_helper.cc 实现所有辅助函数
- ge::AclrtMalloc() - 替代 rtMalloc,表驱动分发,自动传递 moduleId
- ge::AclrtMallocHost() - 替代 rtMallocHost,自动传递 moduleId
- ge::AclrtMallocForTaskScheduler() - 替代 rtMallocForTaskScheduler
- ge::AclrtMallocHostSharedMemory() - 替代 rtMallocHostSharedMemory,基于 POSIX shm_open/mmap/aclrtHostRegister
- ge::AclrtFreeHostSharedMemory() - 替代 rtFreeHostSharedMemory
- ge::AdviseAndTouchHugePages() - 大页内存预触及物理分配
- 删除 runtime/v1/common/aclrt_malloc_helper.h(旧款 inline 版本,被新模块替代)
- 删除 rtMemAdvise的调用
#### 2. 内存类型映射表
| rtMemType_t | aclrtMemMallocPolicy |
|-------------|----------------------|
| RT_MEMORY_TS | ACL_MEM_MALLOC_HUGE_FIRST |
| RT_MEMORY_HOST | ACL_MEM_TYPE_HIGH_BAND_WIDTH (走 HandleHost) |
| RT_MEMORY_HBM / DEFAULT / RDMA_HBM / SPM | ACL_MEM_TYPE_HIGH_BAND_WIDTH |
| RT_MEMORY_P2P_HBM | ACL_MEM_MALLOC_HUGE_FIRST_P2P |
| RT_MEMORY_DDR / DDR_NC | ACL_MEM_TYPE_LOW_BAND_WIDTH |
| RT_MEMORY_P2P_DDR | ACL_MEM_MALLOC_HUGE_FIRST_P2P |
### 技术细节
#### moduleId 保留
```cpp
// 旧接口
rtMalloc(&ptr, size, RT_MEMORY_HBM, GE_MODULE_NAME_U16);
// 新接口
ge::AclrtMalloc(&ptr, size, RT_MEMORY_HBM, GE_MODULE_NAME_U16);
```
#### Host Shared Memory
```cpp
// 旧接口
rtMallocHostSharedMemory(name, size, &fd, &host_ptr, &dev_ptr);
// 新接口
ge::AclrtMallocHostSharedMemory(name, size, &fd, &host_ptr, &dev_ptr);
```
## 变更类型
- [x] ♻️ 重构(既不修复错误也不增加功能的代码变动)
## 如何测试
1. 编译 GE 项目:bash build.sh
2. 运行单元测试验证内存分配功能正常
## 核对清单
- [x] 我的代码遵循了项目的代码风格
- [x] 我已对代码进行了自测
- [x] 我在标题中使用了合适的类型标签
- [x] 编译 ge_common_base 目标通过
See merge request: cann/ge!2169 | 26 天前 |
| Initial commit
| 5 个月前 |