| Initial commit
| 5 个月前 |
| 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 | 27 天前 |
| 【PR】: sync develop to master
Co-authored-by: xiangrenzhi<xiangrenzhi@huawei.com>
Co-authored-by: liyanrong_9<liyanrong9@h-partners.com>
Co-authored-by: chenyukai<chenyukai4@huawei.com>
Co-authored-by: lihuachao<lihuachao1@huawei.com>
Co-authored-by: WangYanMale<wangyan220@huawei.com>
Co-authored-by: xchu42<chuxing@huawei.com>
Co-authored-by: yelongjian<yelongjian1@huawei.com>
Co-authored-by: xingzhixiong<xingzhixiong@huawei.com>
# message auto-generated for no-merge-commit merge:
!1749 merge develop into master
【PR】: sync develop to master
Created-by: wqtshg_wt
Commit-by: liyanrong_9;xingzhixiong;yelongjian;xiangrenzhi;xchu42;chenyukai;WangYanMale;lihuachao
Merged-by: cann-robot
Description:
# Pull Request
## 描述
1、使用rtGetSocSpec查询padding替换固定padding
2、新增AscIR(ArgMax)
3、remainder的语义修改为a-floor(a/b)*b
4、消除Broadcast造成concat_dim解析错误的问题
5、修改CONTRIBUTING.md拼写错误
6、【Fix】:修复溢出检测场景下,给adump设置OP_OVERFLOW类型的dump配置引入nnopbase溢出检测用例报错的问题
7、删除已经失效的编译参数说明
8、[feat] autofuse adds compile options parameter to jit_compile python interface.
9、LLT优化
## 变更类型
请选择本次引入的变更类型:
<!-- [x] 表示选中 -->
- [x] 🐛 Bug 修复
- [x] ✨ 新功能
- [x] 💄 代码风格更新(格式化,局部变量)
- [x] ♻️ 重构(既不修复错误也不增加功能的代码变动)
- [ ] 📦 构建过程或辅助工具的变动
- [x] 📝 文档内容更新
## 关联的Issue
<!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 -->
## 如何测试
描述测试此变更的步骤和前提条件:
1.
2.
## 核对清单
<!-- [x] 表示选中 -->
- [ ] 我的代码遵循了项目的代码风格
- [ ] 我已对代码进行了自测
- [ ] 我已更新了相关的文档
- [ ] 我在标题中使用了合适的类型标签(如:feat:, fix:)
- [ ] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等
## 其他信息
在此添加任何其他关于本次 PR 的说明。
See merge request: cann/ge!1749 | 1 个月前 |
| Initial commit
| 5 个月前 |
| 【feat】: rt接口切换为aclrt系列接口-memcpy相关
Co-authored-by: guopeian<guopeian1@hisilicon.com>
Co-authored-by: wuzhengzhen<wuzhengzhen@huawei.com>
# message auto-generated for no-merge-commit merge:
!1496 merge aclrt_memcpy_test into develop
【feat】: rt接口切换为aclrt系列接口-memcpy相关
Created-by: wuzhengzhen
Commit-by: wuzhengzhen;guopeian
Merged-by: cann-robot
Description:
# Pull Request
## 描述
请清晰准确地描述本次 Pull Request 的意图和变更内容。
rtFree aclrtFree
rtMalloc aclrtMalloc
rtMemcpy aclrtMemcpy
rtMallocHost aclrtMallocHost
rtGetTsMemType aclrtMallocForTaskScheduler
rtMemset aclrtMemset
rtMemcpyAsyncWithoutCheckKind aclrtMemcpyAsync
rtMemcpyAsync aclrtMemcpyAsync
## 变更类型
请选择本次引入的变更类型:
<!-- [x] 表示选中 -->
- [ ] 🐛 Bug 修复
- [ ] ✨ 新功能
- [ ] 💄 代码风格更新(格式化,局部变量)
- [x] ♻️ 重构(既不修复错误也不增加功能的代码变动)
- [ ] 📦 构建过程或辅助工具的变动
- [ ] 📝 文档内容更新
## 关联的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!1496 | 1 个月前 |