| Files | Last commit | Last update |
|---|---|---|
[clean]修改不符合规范的头文件 Co-authored-by: LQ_OY<ouyangzhikang@huawei.com> # message auto-generated for no-merge-commit merge: !4954 merge unmeaningfulHeadFile into master [clean]修改不符合规范的头文件 Created-by: LQ_OY Commit-by: LQ_OY Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 该PR主要解决头文件重名(重名头文件)问题:将unified_platform/pub_inc/下的config_plf_log.h重命名为config_plf_log_v2.h,并同步更新其头文件保护宏,同时将全部引用该头文件的路径统一修改为引用config_plf_log_v2.h;此外还删除了重复的定义whitelist。 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug修复 - [ ] ✨ 新特性 - [ ] 🚀 性能优化 - [ ] 📝 文档更新 - [x] 📋 其他,请描述:告警修复,修改不符合规范的头文件 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR不涉及Issue,可填写"NA"。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于构造对应xx测试用例、二级冒烟、算子泛化等。--> 已完成的测试用例和场景: 1. 2. 补充的UT用例:不涉及 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 合入检查 <!-- 在正式合入前,请做好必要的代码测试,用例补充,软件代码风格检查等。提高合入效率。--> <!-- [x] 表示选中 --> - [ ] 🧐 已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 - [ ] 🔍 邀请 committer评论 /lgtm前的必要检查 - [ ] 🏷️ 标题中使用了合适的类型标签(如:[feat], [fix]) - [ ] 📄 代码修改内容已简要描述,相关文档已更新 - [ ] 📝 代码注释已更新,代码遵循项目整体代码风格 - [ ] 🧪 代码UT测试已更新,覆盖率已达标 - [ ] 🔬 验证方法已更新到"测试"部分 - [ ] 🛠️ 代码已通过静态分析工具检查,无错误 - [ ] 👥 代码检视/code review/同行评议和必要的代码串讲,确保代码质量 - [ ] ✅ 代码检视意见已处理或答复,无未处理的检视意见 - [ ] 🚀 预约 前冒烟 用例前的必要检查 - [ ] ✔️ 代码已有committer的/lgtm 和 模块committer的/lgtm评论 - [ ] 🔧 代码已通过compile,编译无错误,无告警 - [ ] 🖥️ 代码已通过基本功能本地测试或者在线测试,确保基本功能正常 - [ ] 🎯 预约 approver评论/approve,正式合入前的必要检查 - [ ] 📊 前冒烟 用例已全量通过 - [ ] 📦 新增功能已同步补充基本功能测试用例到前冒烟里 See merge request: cann/hcomm!4954 | 2 months ago | |
集合通信域管理层和基础通信层二进制拆分 第一阶段编译隔离 Co-authored-by: zjw22<zhujiawei29@huawei.com> Co-authored-by: yanyefeng<yanyefeng@huawei.com> # message auto-generated for no-merge-commit merge: !4691 merge 0830 into master 【feat】集合通信域管理层和基础通信层二进制拆分 第一阶段编译隔离 Created-by: zjw22 Commit-by: zjw22;yanyefeng Merged-by: cann-robot Description: ## 描述 当前hcomm编译耦合:libhcomm.so 单一产物,base_comm 与 coll_communicator_mgr 源文件混合编译,无法独立演进和验证 修改方案: 1. 引入对象库:创建 hcomm_base_obj(OBJECT 库),承载 base_comm 所有源文件 2. 源文件归属调整:base_comm 子目录的 CMakeLists 将源文件从 hcomm 目标改投到 hcomm_base_obj 3. 依赖路径显式化: hcomm_base_obj:通过分析 .cc 文件的 #include 及编译 .d 依赖文件,显式列出所有需要的头文件搜索路径,移除对通配符的依赖 hcomm:移除原有的 ${HCOMM_DIR}/src/ 通配符路径,显式列出 hcomm 对 base_comm 的依赖路径 4. 链接关系建立:hcomm 通过 target_link_libraries 链接 hcomm_base_obj,通过 add_dependencies 确保编译顺序 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug修复 - [ ] ✨ 新特性 - [ ] 🚀 性能优化 - [ ] 📝 文档更新 - [x] 📋 其他,请描述:代码重构,base_comm和coll_comm编译分离 ## 关联的Issue NA ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于构造对应xx测试用例、二级冒烟、算子泛化等。--> 已完成的测试用例和场景: 1. arm 环境 hccl_test aicpu, aiv, ccu 所有的通信协议测试。 2. x86 环境 hccl_test aicpu, aiv, ccu 所有的通信协议测试。 3. hixl场景通信测试。 4. 图模型场景测试。 补充的UT用例: 不涉及UT用例的刷新 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 合入检查 <!-- 在正式合入前,请做好必要的代码测试,用例补充,软件代码风格检查等。提高合入效率。--> <!-- [x] 表示选中 --> - [x] 🧐 已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 - [] 🔍 邀请 committer评论 /lgtm前的必要检查 - [x] 🏷️ 标题中使用了合适的类型标签(如:[feat], [fix]) - [x] 📄 代码修改内容已简要描述,相关文档已更新 - [x] 📝 代码注释已更新,代码遵循项目整体代码风格 - [x] 🧪 代码UT测试已更新,覆盖率已达标 - [ ] 🔬 验证方法已更新到"测试"部分 - [x] 🛠️ 代码已通过静态分析工具检查,无错误 - [x] 👥 代码检视/code review/同行评议和必要的代码串讲,确保代码质量 - [x] ✅ 代码检视意见已处理或答复,无未处理的检视意见 - [ ] 🚀 预约 前冒烟 用例前的必要检查 - [ ] ✔️ 代码已有committer的/lgtm 和 模块committer的/lgtm评论 - [x] 🔧 代码已通过compile,编译无错误,无告警 - [x] 🖥️ 代码已通过基本功能本地测试或者在线测试,确保基本功能正常 - [ ] 🎯 预约 approver评论/approve,正式合入前的必要检查 - [x] 📊 前冒烟 用例已全量通过 - [ ] 📦 新增功能已同步补充基本功能测试用例到前冒烟里 See merge request: cann/hcomm!4691 | 2 months ago | |
[build] clear blacklist Co-authored-by: ouyangcaike<ouyangcaike@h-partners.com> # message auto-generated for no-merge-commit merge: !4674 merge build/remove_blacklist into master [build] clear blacklist Created-by: ouyangcaike Commit-by: ouyangcaike Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 1. 规范部分文件License头风格 2. 清空blacklist ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug修复 - [ ] ✨ 新特性 - [ ] 🚀 性能优化 - [ ] 📝 文档更新 - [x] 📋 其他,请描述:工程 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR不涉及Issue,可填写"NA"。--> NA ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于构造对应xx测试用例、二级冒烟、算子泛化等。--> 已完成的测试用例和场景: 1. 编译成功 补充的UT用例: NA ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> NA ## 合入检查 <!-- 在正式合入前,请做好必要的代码测试,用例补充,软件代码风格检查等。提高合入效率。--> <!-- [x] 表示选中 --> - [x] 🧐 已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 - [x] 🔍 邀请 committer评论 /lgtm前的必要检查 - [x] 🏷️ 标题中使用了合适的类型标签(如:[feat], [fix]) - [x] 📄 代码修改内容已简要描述,相关文档已更新 - [x] 📝 代码注释已更新,代码遵循项目整体代码风格 - [x] 🧪 代码UT测试已更新,覆盖率已达标 - [x] 🔬 验证方法已更新到"测试"部分 - [x] 🛠️ 代码已通过静态分析工具检查,无错误 - [x] 👥 代码检视/code review/同行评议和必要的代码串讲,确保代码质量 - [x] ✅ 代码检视意见已处理或答复,无未处理的检视意见 - [x] 🚀 预约 前冒烟 用例前的必要检查 - [x] ✔️ 代码已有committer的/lgtm 和 模块committer的/lgtm评论 - [x] 🔧 代码已通过compile,编译无错误,无告警 - [x] 🖥️ 代码已通过基本功能本地测试或者在线测试,确保基本功能正常 - [x] 🎯 预约 approver评论/approve,正式合入前的必要检查 - [x] 📊 前冒烟 用例已全量通过 - [x] 📦 新增功能已同步补充基本功能测试用例到前冒烟里 See merge request: cann/hcomm!4674 | 2 months ago | |
[clean]修改不符合规范的头文件 Co-authored-by: LQ_OY<ouyangzhikang@huawei.com> # message auto-generated for no-merge-commit merge: !4954 merge unmeaningfulHeadFile into master [clean]修改不符合规范的头文件 Created-by: LQ_OY Commit-by: LQ_OY Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 该PR主要解决头文件重名(重名头文件)问题:将unified_platform/pub_inc/下的config_plf_log.h重命名为config_plf_log_v2.h,并同步更新其头文件保护宏,同时将全部引用该头文件的路径统一修改为引用config_plf_log_v2.h;此外还删除了重复的定义whitelist。 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug修复 - [ ] ✨ 新特性 - [ ] 🚀 性能优化 - [ ] 📝 文档更新 - [x] 📋 其他,请描述:告警修复,修改不符合规范的头文件 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR不涉及Issue,可填写"NA"。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于构造对应xx测试用例、二级冒烟、算子泛化等。--> 已完成的测试用例和场景: 1. 2. 补充的UT用例:不涉及 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 合入检查 <!-- 在正式合入前,请做好必要的代码测试,用例补充,软件代码风格检查等。提高合入效率。--> <!-- [x] 表示选中 --> - [ ] 🧐 已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 - [ ] 🔍 邀请 committer评论 /lgtm前的必要检查 - [ ] 🏷️ 标题中使用了合适的类型标签(如:[feat], [fix]) - [ ] 📄 代码修改内容已简要描述,相关文档已更新 - [ ] 📝 代码注释已更新,代码遵循项目整体代码风格 - [ ] 🧪 代码UT测试已更新,覆盖率已达标 - [ ] 🔬 验证方法已更新到"测试"部分 - [ ] 🛠️ 代码已通过静态分析工具检查,无错误 - [ ] 👥 代码检视/code review/同行评议和必要的代码串讲,确保代码质量 - [ ] ✅ 代码检视意见已处理或答复,无未处理的检视意见 - [ ] 🚀 预约 前冒烟 用例前的必要检查 - [ ] ✔️ 代码已有committer的/lgtm 和 模块committer的/lgtm评论 - [ ] 🔧 代码已通过compile,编译无错误,无告警 - [ ] 🖥️ 代码已通过基本功能本地测试或者在线测试,确保基本功能正常 - [ ] 🎯 预约 approver评论/approve,正式合入前的必要检查 - [ ] 📊 前冒烟 用例已全量通过 - [ ] 📦 新增功能已同步补充基本功能测试用例到前冒烟里 See merge request: cann/hcomm!4954 | 2 months ago | |
[clean]修改不符合规范的头文件 Co-authored-by: LQ_OY<ouyangzhikang@huawei.com> # message auto-generated for no-merge-commit merge: !4954 merge unmeaningfulHeadFile into master [clean]修改不符合规范的头文件 Created-by: LQ_OY Commit-by: LQ_OY Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 该PR主要解决头文件重名(重名头文件)问题:将unified_platform/pub_inc/下的config_plf_log.h重命名为config_plf_log_v2.h,并同步更新其头文件保护宏,同时将全部引用该头文件的路径统一修改为引用config_plf_log_v2.h;此外还删除了重复的定义whitelist。 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug修复 - [ ] ✨ 新特性 - [ ] 🚀 性能优化 - [ ] 📝 文档更新 - [x] 📋 其他,请描述:告警修复,修改不符合规范的头文件 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR不涉及Issue,可填写"NA"。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于构造对应xx测试用例、二级冒烟、算子泛化等。--> 已完成的测试用例和场景: 1. 2. 补充的UT用例:不涉及 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 合入检查 <!-- 在正式合入前,请做好必要的代码测试,用例补充,软件代码风格检查等。提高合入效率。--> <!-- [x] 表示选中 --> - [ ] 🧐 已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 - [ ] 🔍 邀请 committer评论 /lgtm前的必要检查 - [ ] 🏷️ 标题中使用了合适的类型标签(如:[feat], [fix]) - [ ] 📄 代码修改内容已简要描述,相关文档已更新 - [ ] 📝 代码注释已更新,代码遵循项目整体代码风格 - [ ] 🧪 代码UT测试已更新,覆盖率已达标 - [ ] 🔬 验证方法已更新到"测试"部分 - [ ] 🛠️ 代码已通过静态分析工具检查,无错误 - [ ] 👥 代码检视/code review/同行评议和必要的代码串讲,确保代码质量 - [ ] ✅ 代码检视意见已处理或答复,无未处理的检视意见 - [ ] 🚀 预约 前冒烟 用例前的必要检查 - [ ] ✔️ 代码已有committer的/lgtm 和 模块committer的/lgtm评论 - [ ] 🔧 代码已通过compile,编译无错误,无告警 - [ ] 🖥️ 代码已通过基本功能本地测试或者在线测试,确保基本功能正常 - [ ] 🎯 预约 approver评论/approve,正式合入前的必要检查 - [ ] 📊 前冒烟 用例已全量通过 - [ ] 📦 新增功能已同步补充基本功能测试用例到前冒烟里 See merge request: cann/hcomm!4954 | 2 months ago | |
集合通信域管理层和基础通信层二进制拆分 第一阶段编译隔离 Co-authored-by: zjw22<zhujiawei29@huawei.com> Co-authored-by: yanyefeng<yanyefeng@huawei.com> # message auto-generated for no-merge-commit merge: !4691 merge 0830 into master 【feat】集合通信域管理层和基础通信层二进制拆分 第一阶段编译隔离 Created-by: zjw22 Commit-by: zjw22;yanyefeng Merged-by: cann-robot Description: ## 描述 当前hcomm编译耦合:libhcomm.so 单一产物,base_comm 与 coll_communicator_mgr 源文件混合编译,无法独立演进和验证 修改方案: 1. 引入对象库:创建 hcomm_base_obj(OBJECT 库),承载 base_comm 所有源文件 2. 源文件归属调整:base_comm 子目录的 CMakeLists 将源文件从 hcomm 目标改投到 hcomm_base_obj 3. 依赖路径显式化: hcomm_base_obj:通过分析 .cc 文件的 #include 及编译 .d 依赖文件,显式列出所有需要的头文件搜索路径,移除对通配符的依赖 hcomm:移除原有的 ${HCOMM_DIR}/src/ 通配符路径,显式列出 hcomm 对 base_comm 的依赖路径 4. 链接关系建立:hcomm 通过 target_link_libraries 链接 hcomm_base_obj,通过 add_dependencies 确保编译顺序 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug修复 - [ ] ✨ 新特性 - [ ] 🚀 性能优化 - [ ] 📝 文档更新 - [x] 📋 其他,请描述:代码重构,base_comm和coll_comm编译分离 ## 关联的Issue NA ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于构造对应xx测试用例、二级冒烟、算子泛化等。--> 已完成的测试用例和场景: 1. arm 环境 hccl_test aicpu, aiv, ccu 所有的通信协议测试。 2. x86 环境 hccl_test aicpu, aiv, ccu 所有的通信协议测试。 3. hixl场景通信测试。 4. 图模型场景测试。 补充的UT用例: 不涉及UT用例的刷新 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 合入检查 <!-- 在正式合入前,请做好必要的代码测试,用例补充,软件代码风格检查等。提高合入效率。--> <!-- [x] 表示选中 --> - [x] 🧐 已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 - [] 🔍 邀请 committer评论 /lgtm前的必要检查 - [x] 🏷️ 标题中使用了合适的类型标签(如:[feat], [fix]) - [x] 📄 代码修改内容已简要描述,相关文档已更新 - [x] 📝 代码注释已更新,代码遵循项目整体代码风格 - [x] 🧪 代码UT测试已更新,覆盖率已达标 - [ ] 🔬 验证方法已更新到"测试"部分 - [x] 🛠️ 代码已通过静态分析工具检查,无错误 - [x] 👥 代码检视/code review/同行评议和必要的代码串讲,确保代码质量 - [x] ✅ 代码检视意见已处理或答复,无未处理的检视意见 - [ ] 🚀 预约 前冒烟 用例前的必要检查 - [ ] ✔️ 代码已有committer的/lgtm 和 模块committer的/lgtm评论 - [x] 🔧 代码已通过compile,编译无错误,无告警 - [x] 🖥️ 代码已通过基本功能本地测试或者在线测试,确保基本功能正常 - [ ] 🎯 预约 approver评论/approve,正式合入前的必要检查 - [x] 📊 前冒烟 用例已全量通过 - [ ] 📦 新增功能已同步补充基本功能测试用例到前冒烟里 See merge request: cann/hcomm!4691 | 2 months ago | |
集合通信域管理层和基础通信层二进制拆分 第一阶段编译隔离 Co-authored-by: zjw22<zhujiawei29@huawei.com> Co-authored-by: yanyefeng<yanyefeng@huawei.com> # message auto-generated for no-merge-commit merge: !4691 merge 0830 into master 【feat】集合通信域管理层和基础通信层二进制拆分 第一阶段编译隔离 Created-by: zjw22 Commit-by: zjw22;yanyefeng Merged-by: cann-robot Description: ## 描述 当前hcomm编译耦合:libhcomm.so 单一产物,base_comm 与 coll_communicator_mgr 源文件混合编译,无法独立演进和验证 修改方案: 1. 引入对象库:创建 hcomm_base_obj(OBJECT 库),承载 base_comm 所有源文件 2. 源文件归属调整:base_comm 子目录的 CMakeLists 将源文件从 hcomm 目标改投到 hcomm_base_obj 3. 依赖路径显式化: hcomm_base_obj:通过分析 .cc 文件的 #include 及编译 .d 依赖文件,显式列出所有需要的头文件搜索路径,移除对通配符的依赖 hcomm:移除原有的 ${HCOMM_DIR}/src/ 通配符路径,显式列出 hcomm 对 base_comm 的依赖路径 4. 链接关系建立:hcomm 通过 target_link_libraries 链接 hcomm_base_obj,通过 add_dependencies 确保编译顺序 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug修复 - [ ] ✨ 新特性 - [ ] 🚀 性能优化 - [ ] 📝 文档更新 - [x] 📋 其他,请描述:代码重构,base_comm和coll_comm编译分离 ## 关联的Issue NA ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于构造对应xx测试用例、二级冒烟、算子泛化等。--> 已完成的测试用例和场景: 1. arm 环境 hccl_test aicpu, aiv, ccu 所有的通信协议测试。 2. x86 环境 hccl_test aicpu, aiv, ccu 所有的通信协议测试。 3. hixl场景通信测试。 4. 图模型场景测试。 补充的UT用例: 不涉及UT用例的刷新 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 合入检查 <!-- 在正式合入前,请做好必要的代码测试,用例补充,软件代码风格检查等。提高合入效率。--> <!-- [x] 表示选中 --> - [x] 🧐 已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 - [] 🔍 邀请 committer评论 /lgtm前的必要检查 - [x] 🏷️ 标题中使用了合适的类型标签(如:[feat], [fix]) - [x] 📄 代码修改内容已简要描述,相关文档已更新 - [x] 📝 代码注释已更新,代码遵循项目整体代码风格 - [x] 🧪 代码UT测试已更新,覆盖率已达标 - [ ] 🔬 验证方法已更新到"测试"部分 - [x] 🛠️ 代码已通过静态分析工具检查,无错误 - [x] 👥 代码检视/code review/同行评议和必要的代码串讲,确保代码质量 - [x] ✅ 代码检视意见已处理或答复,无未处理的检视意见 - [ ] 🚀 预约 前冒烟 用例前的必要检查 - [ ] ✔️ 代码已有committer的/lgtm 和 模块committer的/lgtm评论 - [x] 🔧 代码已通过compile,编译无错误,无告警 - [x] 🖥️ 代码已通过基本功能本地测试或者在线测试,确保基本功能正常 - [ ] 🎯 预约 approver评论/approve,正式合入前的必要检查 - [x] 📊 前冒烟 用例已全量通过 - [ ] 📦 新增功能已同步补充基本功能测试用例到前冒烟里 See merge request: cann/hcomm!4691 | 2 months ago | |
[feat] hcomm endpoint refactor Co-authored-by: guoziqi2025<guoziqi2@huawei.com> # message auto-generated for no-merge-commit merge: !4658 merge endpoint_refactor into master [feat] hcomm endpoint refactor Created-by: guoziqi2025 Commit-by: guoziqi2025 Merged-by: cann-robot Description: ## 描述 本 PR 对 base_comm 的 Endpoint/RegedMemMgr 类层次做**公共流程抽取归一**内部重构:将"基类持有数据成员 + 继承复用"模型重构为"纯虚接口 + 组合"模型。对外 C 接口( include/hcomm_res.h)签名不变,运行行为与重构前对齐。 **改动原因**(重构前的四类问题): 1. **冗余**:6 个 endpoint 子类各自重复实现 6 个内存注册方法的一行转发(38 处、约 245 行) 2. **抽象不彻底**:Endpoint/RegedMemMgr 基类同时承担接口契约与数据成员持有;AicpuTsHccs 存在 8 处向下强转 3. **资源管理分散**:endpoint 句柄表为全局静态、不受 HcommResMgr 管理,进程销毁无兜底清理 4. **能力耦合**:监听/jetty/NIC 插件能力挂在 Endpoint 接口上,非持有方被迫实现空 stub **核心改动**: 1. **Endpoint 纯虚接口化**:ctxHandle_/regedMemMgr_/缓存成员等全部下放各派生类私有;内存注册接口从 Endpoint 移除(统一经 GetRegedMemMgr() 访问);各子类 regedMemMgr_ 声明为具体 RegedMemMgr 子类类型并在 Init 构造(消除 8 处 dynamic_cast 强转) 2. **RegedMemMgr 纯虚接口化**:rdmaHandle_/memMtx_ 下放派生类私有、改为构造注入 3. **新增 ServerSocketContext 体系**(resources/endpoints/server_socket_context/,按类一文件):抽象基类 + Host/Device/AicpuTsRoce/AicpuTsHccs/UbRtpUboe 五个路径子类 + 插件路径 PluginServerSocketContext(nic_plugin_holder.h 内);监听三接口从 Endpoint 移除,统一经 GetServerSocketContext() 访问(AicpuTsRoce 的 HcclSocket 自管理/静态 map + refCount 复用、AicpuTsHccs 的 GlobalNetDevMgr 路径整体迁入) 4. **新增 EndpointMgr**(endpoint_mgr/):收编原全局 endpoint 句柄表;EndpointCtx 按 {devPhyId, LinkProtoType, ip} 去重,多 endpoint 实例共享同一底层 RDMA 句柄(AcquireEndpointCtxByAddr/ByEid 出参接口 + ReleaseEndpointCtx 共享引用计数判定 + victim 模式锁外析构);~HcommResMgr() 兜底 DeInit 释放残留;作为 HcommResMgr 成员持有 5. **NIC 插件路径归一**:nicOps_/nicCtx_ 移入 PluginEndpointHolder;PluginRegedMemMgr(内存五接口转发)、PluginServerSocketContext(getListenPort 转发)承载插件能力 6. **删除 UboeUbRtpEndpointHelper 中间继承层**;coll_communicator_mgr 侧同名 EndpointMgr 命名空间 hcomm→hccl 消除冲突 7. C 适配层统一经 HcommResMgr::GetInstance().GetEndpointMgr() 路由(句柄查找失败返回 HCCL_E_NOT_FOUND);指针入参判空校验下沉至各派生类接口入口(插件路径除外,由插件侧自负);HcommResMgrInit/RefreshEndpointContext 保持原有调用副作用 ## 变更类型 请选择本次引入的变更类型: - [ ] 🐛 Bug修复 - [ ] ✨ 新特性 - [ ] 🚀 性能优化 - [ ] 📝 文档更新 - [x] 📋 其他,请描述:内部重构(接口与实现分离、公共流程归一;对外 C API 签名不变、行为对齐重构前) ## 关联的Issue NA ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于构造对应xx测试用例、二级冒烟、算子泛化等。--> 已完成的测试用例和场景: 1. pkg 全量编译通过(x86_64,0 error,endpoint 相关无 warning) 2. UT & ST 通过 3. HCOMM仓RDV验证通过 4. aiv共享jetty功能验证通过 5. 单边通信验证通过 补充的UT用例: - ut_hcomm_endpoint_mgr.cc:EndpointMgr 的 Add/Remove/Update/Get、Acquire 去重(同 key 共享、use_count 递增)、Release 共享判定、DeInit 兜底清理 - ut_endpoint_ctx.cc:EndpointCtx/EndpointCtxKey - ut_server_socket_context.cc:五路径子类的监听行为、析构兜底停止监听、no-op 语义、继承基类默认 NOT_SUPPORT - ut_plugin_reged_mem_mgr.cc:插件内存五接口转发 + GetListenPort 转发 - 既有 endpoint/channel UT 全量适配新接口(Init 签名、具体类型 mgr、stub 派生类等) ## 文档更新 NA(纯代码重构,无对外接口与文档变更) ## 合入检查 <!-- 在正式合入前,请做好必要的代码测试,用例补充,软件代码风格检查等。提高合入效率。--> - [x] 🧐 已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 - [x] 🔍 邀请 committer评论/lgtm前的必要检查 - [x] 🏷️ 标题中使用了合适的类型标签(如:[feat], [fix]) - [x] 📄 代码修改内容已简要描述,相关文档已更新 - [x] 📝 代码注释已更新,代码遵循项目整体代码风格 - [x] 🧪 代码UT测试已更新,覆盖率已达标 - [x] 🔬 验证方法已更新到"测试"部分 - [x] 🛠️ 代码已通过静态分析工具检查,无错误 - [x] 👥 代码检视/code review/同行评议和必要的代码串讲,确保代码质量 - [x] ✅ 代码检视意见已处理或答复,无未处理的检视意见 - [ ] 🚀 预约 前冒烟 用例前的必要检查 - [ ] ✔️ 代码已有committer的/lgtm 和 模块committer的/lgtm评论 - [ ] 🔧 代码已通过compile,编译无错误,无告警 - [ ] 🖥️ 代码已通过基本功能本地测试或者在线测试,确保基本功能正常 - [ ] 🎯 预约 approver评论/approve,正式合入前的必要检查 - [ ] 📊 前冒烟 用例已全量通过 - [ ] 📦 新增功能已同步补充基本功能测试用例到前冒烟里 See merge request: cann/hcomm!4658 | 2 months ago | |
[feat] hcomm endpoint refactor Co-authored-by: guoziqi2025<guoziqi2@huawei.com> # message auto-generated for no-merge-commit merge: !4658 merge endpoint_refactor into master [feat] hcomm endpoint refactor Created-by: guoziqi2025 Commit-by: guoziqi2025 Merged-by: cann-robot Description: ## 描述 本 PR 对 base_comm 的 Endpoint/RegedMemMgr 类层次做**公共流程抽取归一**内部重构:将"基类持有数据成员 + 继承复用"模型重构为"纯虚接口 + 组合"模型。对外 C 接口( include/hcomm_res.h)签名不变,运行行为与重构前对齐。 **改动原因**(重构前的四类问题): 1. **冗余**:6 个 endpoint 子类各自重复实现 6 个内存注册方法的一行转发(38 处、约 245 行) 2. **抽象不彻底**:Endpoint/RegedMemMgr 基类同时承担接口契约与数据成员持有;AicpuTsHccs 存在 8 处向下强转 3. **资源管理分散**:endpoint 句柄表为全局静态、不受 HcommResMgr 管理,进程销毁无兜底清理 4. **能力耦合**:监听/jetty/NIC 插件能力挂在 Endpoint 接口上,非持有方被迫实现空 stub **核心改动**: 1. **Endpoint 纯虚接口化**:ctxHandle_/regedMemMgr_/缓存成员等全部下放各派生类私有;内存注册接口从 Endpoint 移除(统一经 GetRegedMemMgr() 访问);各子类 regedMemMgr_ 声明为具体 RegedMemMgr 子类类型并在 Init 构造(消除 8 处 dynamic_cast 强转) 2. **RegedMemMgr 纯虚接口化**:rdmaHandle_/memMtx_ 下放派生类私有、改为构造注入 3. **新增 ServerSocketContext 体系**(resources/endpoints/server_socket_context/,按类一文件):抽象基类 + Host/Device/AicpuTsRoce/AicpuTsHccs/UbRtpUboe 五个路径子类 + 插件路径 PluginServerSocketContext(nic_plugin_holder.h 内);监听三接口从 Endpoint 移除,统一经 GetServerSocketContext() 访问(AicpuTsRoce 的 HcclSocket 自管理/静态 map + refCount 复用、AicpuTsHccs 的 GlobalNetDevMgr 路径整体迁入) 4. **新增 EndpointMgr**(endpoint_mgr/):收编原全局 endpoint 句柄表;EndpointCtx 按 {devPhyId, LinkProtoType, ip} 去重,多 endpoint 实例共享同一底层 RDMA 句柄(AcquireEndpointCtxByAddr/ByEid 出参接口 + ReleaseEndpointCtx 共享引用计数判定 + victim 模式锁外析构);~HcommResMgr() 兜底 DeInit 释放残留;作为 HcommResMgr 成员持有 5. **NIC 插件路径归一**:nicOps_/nicCtx_ 移入 PluginEndpointHolder;PluginRegedMemMgr(内存五接口转发)、PluginServerSocketContext(getListenPort 转发)承载插件能力 6. **删除 UboeUbRtpEndpointHelper 中间继承层**;coll_communicator_mgr 侧同名 EndpointMgr 命名空间 hcomm→hccl 消除冲突 7. C 适配层统一经 HcommResMgr::GetInstance().GetEndpointMgr() 路由(句柄查找失败返回 HCCL_E_NOT_FOUND);指针入参判空校验下沉至各派生类接口入口(插件路径除外,由插件侧自负);HcommResMgrInit/RefreshEndpointContext 保持原有调用副作用 ## 变更类型 请选择本次引入的变更类型: - [ ] 🐛 Bug修复 - [ ] ✨ 新特性 - [ ] 🚀 性能优化 - [ ] 📝 文档更新 - [x] 📋 其他,请描述:内部重构(接口与实现分离、公共流程归一;对外 C API 签名不变、行为对齐重构前) ## 关联的Issue NA ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于构造对应xx测试用例、二级冒烟、算子泛化等。--> 已完成的测试用例和场景: 1. pkg 全量编译通过(x86_64,0 error,endpoint 相关无 warning) 2. UT & ST 通过 3. HCOMM仓RDV验证通过 4. aiv共享jetty功能验证通过 5. 单边通信验证通过 补充的UT用例: - ut_hcomm_endpoint_mgr.cc:EndpointMgr 的 Add/Remove/Update/Get、Acquire 去重(同 key 共享、use_count 递增)、Release 共享判定、DeInit 兜底清理 - ut_endpoint_ctx.cc:EndpointCtx/EndpointCtxKey - ut_server_socket_context.cc:五路径子类的监听行为、析构兜底停止监听、no-op 语义、继承基类默认 NOT_SUPPORT - ut_plugin_reged_mem_mgr.cc:插件内存五接口转发 + GetListenPort 转发 - 既有 endpoint/channel UT 全量适配新接口(Init 签名、具体类型 mgr、stub 派生类等) ## 文档更新 NA(纯代码重构,无对外接口与文档变更) ## 合入检查 <!-- 在正式合入前,请做好必要的代码测试,用例补充,软件代码风格检查等。提高合入效率。--> - [x] 🧐 已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 - [x] 🔍 邀请 committer评论/lgtm前的必要检查 - [x] 🏷️ 标题中使用了合适的类型标签(如:[feat], [fix]) - [x] 📄 代码修改内容已简要描述,相关文档已更新 - [x] 📝 代码注释已更新,代码遵循项目整体代码风格 - [x] 🧪 代码UT测试已更新,覆盖率已达标 - [x] 🔬 验证方法已更新到"测试"部分 - [x] 🛠️ 代码已通过静态分析工具检查,无错误 - [x] 👥 代码检视/code review/同行评议和必要的代码串讲,确保代码质量 - [x] ✅ 代码检视意见已处理或答复,无未处理的检视意见 - [ ] 🚀 预约 前冒烟 用例前的必要检查 - [ ] ✔️ 代码已有committer的/lgtm 和 模块committer的/lgtm评论 - [ ] 🔧 代码已通过compile,编译无错误,无告警 - [ ] 🖥️ 代码已通过基本功能本地测试或者在线测试,确保基本功能正常 - [ ] 🎯 预约 approver评论/approve,正式合入前的必要检查 - [ ] 📊 前冒烟 用例已全量通过 - [ ] 📦 新增功能已同步补充基本功能测试用例到前冒烟里 See merge request: cann/hcomm!4658 | 2 months ago |
| Files | Last commit | Last update |
|---|---|---|
| 2 months ago | ||
| 2 months ago | ||
| 2 months ago | ||
| 2 months ago | ||
| 2 months ago | ||
| 2 months ago | ||
| 2 months ago | ||
| 2 months ago | ||
| 2 months ago |