Ccann-robotrefactor: 替换rt内存接口为aclrt接口
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
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 | 3 个月前 | |
【PR】: 整改dflow DT中的HELPER_RES_FILE_PATH和rtGetIsHeterogenous Co-authored-by: lining23666<lining.li@huawei.com> # message auto-generated for no-merge-commit merge: !188 merge master into master 【PR】: 整改dflow DT中的HELPER_RES_FILE_PATH和rtGetIsHeterogenous Created-by: lining23666 Commit-by: lining23666 Merged-by: cann-robot Description: # Pull Request ## 描述 1、整改dflow DT中的HELPER_RES_FILE_PATH 2、删除废弃的rtGetIsHeterogenous ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [x] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 描述测试此变更的步骤和前提条件: 主要整改用例,不涉及功能修改 ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如: feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/ge!188 | 7 个月前 | |
【PR】: fix spelling error Co-authored-by: wjm<wangjiming5@huawei.com> # message auto-generated for no-merge-commit merge: !2154 merge feature into develop 【PR】: fix spelling error Created-by: gcw_3CxwvBIO Commit-by: wjm Merged-by: cann-robot Description: # Pull Request ## 描述 fix spelling error ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [x] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 白盒检视 ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如: feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/ge!2154 | 4 个月前 | |
【PR】:增加GetTensorMemorySizeInBytesWithAutoPadding的打桩 Co-authored-by: Li Huachao<lihuachao1@huawei.com> # message auto-generated for no-merge-commit merge: !1844 merge dev_fix into develop 【PR】:增加GetTensorMemorySizeInBytesWithAutoPadding的打桩 Created-by: lihuachao Commit-by: Li Huachao Merged-by: cann-robot Description: # Pull Request ## 描述 1.挪动GetTensorMemorySizeInBytesWithAutoPadding到tensor_utils_ex.h头文件里。 2.在libgraph.so的打桩库里增加GetTensorMemorySizeInBytesWithAutoPadding,以解决1911场景下编译报错的问题。 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [x] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的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!1844 | 4 个月前 | |
【reactor】: 将register.h改名为graph_register.h,解决文件重名的问题 Co-authored-by: wanghuajie<wanghuajie1@huawei.com> # message auto-generated for no-merge-commit merge: !1805 merge develop_remove_compatibility_for_register_h into develop 【reactor】: 将register.h改名为graph_register.h,解决文件重名的问题 Created-by: wanghuajie Commit-by: wanghuajie Merged-by: cann-robot Description: # Pull Request ## 描述 将register.h改名为graph_register.h,解决文件重名的问题 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [x] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 描述测试此变更的步骤和前提条件: 1. 安装Readme构建ge代码 2. 执行UT和ST,检查是否有失败用例 ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如: feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/ge!1805 | 4 个月前 | |
【fix】: 移除 CMakeLists.txt 硬编码编译选项,由 CMAKE_BUILD_TYPE 统一管理 Co-authored-by: tangqunzhang<tangqunzhang@huawei.com> # message auto-generated for no-merge-commit merge: !1933 merge develop into develop 【fix】: 移除 CMakeLists.txt 硬编码编译选项,由 CMAKE_BUILD_TYPE 统一管理 Created-by: tangqunzhang Commit-by: tangqunzhang Merged-by: cann-robot Description: # Pull Request ## 描述 移除 CMakeLists.txt 中硬编码的编译优化选项( -O2、-fno-common、-Werror 等),改为由 CMake 的 CMAKE_BUILD_TYPE 统一管理编译选项。 **主要变更**: - 移除各模块 CMakeLists.txt 中硬编码的 -O2 优化级别 - 移除 -fno-common 编译标志 - 移除部分模块的 -Werror 标志 - 保留 -fvisibility=hidden 等与构建类型无关的选项 **变更原因**: - Debug 构建时应使用 -O0 便于调试,硬编码 -O2 会导致 Debug 模式仍被优化 - 统一由 CMake 标准构建类型(Debug/Release/RelWithDebInfo)管理编译选项,符合业界规范 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [x] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 描述测试此变更的步骤和前提条件: 1. 执行 bash build.sh --build_type=Debug,验证编译选项包含 -O0 -g 2. 执行 bash build.sh --build_type=Release,验证编译选项包含 -O2 或 -O3 3. 运行基础 UT/ST 测试,确保功能正常 ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [ ] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/ge!1933 | 4 个月前 | |
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 | 3 个月前 |