| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
question list Co-authored-by: fengshaoyu_kcaco<fengshaoyu5@huawei.com> # message auto-generated for no-merge-commit merge: !4729 merge master into master question list Created-by: fengshaoyu_kcaco Commit-by: fengshaoyu_kcaco Merged-by: cann-robot Description: ## 描述 <hcomm开源仓代码bug修复> ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [x] 🐛 Bug修复 - [ ] ✨ 新特性 - [ ] 🚀 性能优化 - [ ] 📝 文档更新 - [ ] 📋 其他,请描述: ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR不涉及Issue,可填写"NA"。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于构造对应xx测试用例、二级冒烟、算子泛化等。--> 已完成的测试用例和场景: 1. 2. 补充的UT用例: ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 合入检查 <!-- 在正式合入前,请做好必要的代码测试,用例补充,软件代码风格检查等。提高合入效率。--> <!-- [x] 表示选中 --> - [ ] 🧐 已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 - [x] 🔍 邀请 committer评论 /lgtm前的必要检查 - [ ] 🏷️ 标题中使用了合适的类型标签(如:[feat], [fix]) - [x] 📄 代码修改内容已简要描述,相关文档已更新 - [x] 📝 代码注释已更新,代码遵循项目整体代码风格 - [x] 🧪 代码UT测试已更新,覆盖率已达标 - [ ] 🔬 验证方法已更新到"测试"部分 - [ ] 🛠️ 代码已通过静态分析工具检查,无错误 - [ ] 👥 代码检视/code review/同行评议和必要的代码串讲,确保代码质量 - [x] ✅ 代码检视意见已处理或答复,无未处理的检视意见 - [ ] 🚀 预约 前冒烟 用例前的必要检查 - [x] ✔️ 代码已有committer的/lgtm 和 模块committer的/lgtm评论 - [x] 🔧 代码已通过compile,编译无错误,无告警 - [ ] 🖥️ 代码已通过基本功能本地测试或者在线测试,确保基本功能正常 - [ ] 🎯 预约 approver评论/approve,正式合入前的必要检查 - [ ] 📊 前冒烟 用例已全量通过 - [ ] 📦 新增功能已同步补充基本功能测试用例到前冒烟里 See merge request: cann/hcomm!4729 | 14 天前 | |
[feat]hccl支持channel/res模块日志可配置 Co-authored-by: wangjiawen16<wangjiawen16@h-partners.com> # message auto-generated for no-merge-commit merge: !4720 merge feature/hccp-log into master [feat]hccl支持channel/res模块日志可配置 Created-by: wangjiawen16 Commit-by: wangjiawen16 Merged-by: cann-robot Description: ## 描述 本 PR 引入"按域/模块可开关"的调试日志能力,统一资源类日志打印资源 ID(qpn),降低默认日志量。 ### 改动动机 1. hccp/hccm 数据面高频路径(WR/send/recv、建链后每请求级调用)默认即打印 INFO 级日志,批量收发场景刷屏并显著损耗性能。 2. 控制面资源申请/销毁日志(Create/Destroy Qp、Stream/Notify/Event 等)此前打印进程内指针,跨进程/跨重启无法与设备侧资源对账。 3. 原有 run 日志无法按模块独立开关,调测时需整体开启,噪声大。 ### 改动方法 1. 新增 PLF 调试配置解析(plf_debug_config.cc/.h、config_plf_log_v2.h): - 环境变量 HCCL_DEBUG_CONFIG 支持域:ALG、TASK、RESOURCE; - 环境变量 HCOMM_DEBUG_CONFIG 支持域:TASK、RESOURCE、DATA_OP、CHANNEL; - 取值格式:逗号分隔的域关键字(大小写不敏感),支持前缀 ^ 取反(配置的域关闭、其余打开);非法域项打印错误日志并返回 0; - 掩码位含义:bit0 ALG、bit1 TASK、bit2 RES、bit3 DATA_OP、bit4 CHANNEL。 2. 新增 PLF_CONFIG_INFO / PLF_CONFIG_DEBUG 宏:命中对应域掩码时走 run 日志,否则走普通 INFO/DEBUG;数据面高频路径补充 if (GetPlfDebugConfigValue() & <DOMAIN>) 门控以默认静默。 3. 新增 hccp 模块级日志开关(inc/private/network/log/config_log.h、perf.h):HccpSetDebugConfig/HccpGetDebugConfig + hccp_info_*/hccp_warn_* 模块宏 + PERF_TRACE 性能探针;模块位定义见 ra_rs_opcode.h(bit0 INIT、bit1 RDMA_OP、bit2 SOCKET_OP、bit3 OTHERS)。 4. 新增对外接口 RaSetDebugConfig(info, debugConfig)(inc/network/hccp.h,经 ra.map 导出),三分支:PEER_ONLINE 直写、OFFLINE 经 RaHdcSetDebugConfig 下发(ra_hdc.map 导出)、非法 mode 返回 -EPROTONOSUPPORT。 5. 资源类日志统一打印 qpn:Create/Destroy Qp、批量销毁 Qp 等日志由打印指针/vector 地址改为打印 qpn。 ## 变更类型 请选择本次引入的变更类型: - [ ] 🐛 Bug修复 - [x] ✨ 新特性 - [ ] 🚀 性能优化 - [ ] 📝 文档更新 - [ ] 📋 其他,请描述: ## 关联的Issue NA ## 测试 已完成的测试用例和场景: 1. 为 TransportStatusToChannelStatus 补充 ut_channel_roce_factory.cc 用例 2. 更新受影响的既有 UT:ut_env_config.cc、ut_rtsq_a5.cc、ut_aicpu_task_utils.cc、ut_aicpu_task_cache_entry.cc、ut_include/user_log.h 等 补充的UT用例: 3. 为 RaSetDebugConfig 补充 tc_host.c 三分支用例:参数校验(info 空 / phyId 越界)、PEER_ONLINE 直写生效(HccpGetDebugConfig 校验)、OFFLINE 经 RaHdcSetDebugConfig 下发、非法 mode 返回错误。 4.RDV 以及本地测试已经验证通过 ## 文档更新 NA ## 合入检查 <!-- 在正式合入前,请做好必要的代码测试,用例补充,软件代码风格检查等。提高合入效率。--> <!-- [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!4720 | 1 天前 | |
[build] License Header Co-authored-by: ouyangcaike<ouyangcaike@h-partners.com> # message auto-generated for no-merge-commit merge: !4556 merge build/oat into master [build] License Header Created-by: ouyangcaike Commit-by: ouyangcaike Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 1. 全仓C/C++、CMake、Python、Shell文件规范头部License的使用 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug修复 - [ ] ✨ 新特性 - [ ] 🚀 性能优化 - [ ] 📝 文档更新 - [x] 📋 其他,请描述:工程 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR不涉及Issue,可填写"NA"。--> NA ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于构造对应xx测试用例、二级冒烟、算子泛化等。--> 已完成的测试用例和场景: 1. 编译成功 2. 全量拦截项通过 补充的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!4556 | 24 天前 | |
fix batch send recv bug Co-authored-by: unknown<huangjianbo3@h-partners.com> # message auto-generated for no-merge-commit merge: !4711 merge master into master fix batch send recv bug Created-by: muzhiyu6 Commit-by: unknown Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> A3上下发batch send recv时由于未把aicpuMode带到执行器上,导致走错路径,item过大时由于队列堆满导致卡死; 修复方案: 把aicpuMode带到device上获取出来 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [x] 🐛 Bug修复 - [ ] ✨ 新特性 - [ ] 🚀 性能优化 - [ ] 📝 文档更新 - [ ] 📋 其他,请描述: ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR不涉及Issue,可填写"NA"。--> https://gitcode.com/cann/hcomm/issues/784 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于构造对应xx测试用例、二级冒烟、算子泛化等。--> 已完成的测试用例和场景: 1. 测试item 较大场景下是否可以跑通 补充的UT用例: 1、新增aicpu tiling取值的ut用例 2、新增batch_send_recv ut用例 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 合入检查 <!-- 在正式合入前,请做好必要的代码测试,用例补充,软件代码风格检查等。提高合入效率。--> <!-- [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!4711 | 15 天前 | |
[feat]基础通信支持通信异常上报 Co-authored-by: wangjiawen<wangjiawen16@h-partners.com> Co-authored-by: zhanghedong<zhanghedong@huawei.com> # message auto-generated for no-merge-commit merge: !4292 merge exception-report-base-comm into master [feat]基础通信支持通信异常上报 Created-by: zhanghedong Commit-by: zhanghedong;wangjiawen Merged-by: cann-robot Description: ## 描述 此 PR 为基础通信(HCOMM)模块引入一套通信异常上报机制,通过公共 C API 允许外部模块注册回调以接收通信异常通知。核心包括:定义异常信息数据结构与回调接口的公共头文件、实现线程安全的回调管理器 ExceptionCallbackMgr、封装公共 C API 的适配层,以及抽取一个可复用的通用后台线程 BackgroundThread,并将其接入 AICPU 线程的生命周期管理,使得在设备侧 AICPU 线程初始化时自动启动后台线程、销毁时自动停止。 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug修复 - [x] ✨ 新特性 - [ ] 🚀 性能优化 - [ ] 📝 文档更新 - [ ] 📋 其他,请描述: ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR不涉及Issue,可填写"NA"。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于构造对应xx测试用例、二级冒烟、算子泛化等。--> 已完成的测试用例和场景: 1. 已构造对应STC用例,并完成相关用例验证。 2. 已跑RDV 补充的UT用例:已补充对应UT用例 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 合入检查 <!-- 在正式合入前,请做好必要的代码测试,用例补充,软件代码风格检查等。提高合入效率。--> <!-- [x] 表示选中 --> - [x] 🧐 已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 - [ ] 🔍 邀请 committer评论 /lgtm前的必要检查 - [x] 🏷️ 标题中使用了合适的类型标签(如:[feat], [fix]) - [x] 📄 代码修改内容已简要描述,相关文档已更新 - [x] 📝 代码注释已更新,代码遵循项目整体代码风格 - [x] 🧪 代码UT测试已更新,覆盖率已达标 - [x] 🔬 验证方法已更新到"测试"部分 - [x] 🛠️ 代码已通过静态分析工具检查,无错误 - [x] 👥 代码检视/code review/同行评议和必要的代码串讲,确保代码质量 - [ ] ✅ 代码检视意见已处理或答复,无未处理的检视意见 - [ ] 🚀 预约 前冒烟 用例前的必要检查 - [ ] ✔️ 代码已有committer的/lgtm 和 模块committer的/lgtm评论 - [x] 🔧 代码已通过compile,编译无错误,无告警 - [x] 🖥️ 代码已通过基本功能本地测试或者在线测试,确保基本功能正常 - [ ] 🎯 预约 approver评论/approve,正式合入前的必要检查 - [ ] 📊 前冒烟 用例已全量通过 - [ ] 📦 新增功能已同步补充基本功能测试用例到前冒烟里 See merge request: cann/hcomm!4292 | 1 个月前 | |
[feat] rename UB protocol enums with backward compatibility Co-authored-by: z00940303<zhangzhuopan@huawei.com> # message auto-generated for no-merge-commit merge: !4370 merge master into master [feat] rename UB protocol enums with backward compatibility Created-by: zhangzhuopan Commit-by: z00940303 Merged-by: cann-robot Description: ## 描述 本次修改统一 UB 协议枚举命名,使协议名称与当前架构定义保持一致: - 新增 COMM_PROTOCOL_UB_CTP = 4,替代原有命名 COMM_PROTOCOL_UBC_CTP。 - 新增 COMM_PROTOCOL_UB_RTP = 9,替代原有命名 COMM_PROTOCOL_UBG。 - 保留旧枚举作为兼容别名: - COMM_PROTOCOL_UBC_CTP = COMM_PROTOCOL_UB_CTP - COMM_PROTOCOL_UBG = COMM_PROTOCOL_UB_RTP - 枚举数值保持不变,确保已有调用方的源码兼容性和接口 ABI 不受影响。 - 将 Endpoint、Channel、通信域资源管理、拓扑转换、NIC Plugin 等代码中的协议判断和日志统一为新名称。 - 在 AIV/AICPU 通信路径中补充并保留 UB_RTP 处理: - AIV + UB_RTP 使用 AivUrmaChannel。 - AICPU/AICPU_TS + UB_RTP 使用 AicpuTsUbgChannel。 - 支持 UB_RTP 的 Device ChannelEntity 创建、预分配及 Device Handle 转换。 - 更新相关中英文接口文档和通信算子开发文档,将旧协议名称替换为新协议名称。 ## 变更类型 请选择本次引入的变更类型: - [ ] 🐛 Bug修复 - [x] ✨ 新特性 - [ ] 🚀 性能优化 - [x] 📝 文档更新 - [ ] 📋 其他,请描述: ## 关联的Issue NA ## 测试 已完成的测试用例和场景: 1. 检查 COMM_PROTOCOL_UB_CTP 和 COMM_PROTOCOL_UB_RTP 在 Endpoint、Channel 创建、资源转换及拓扑映射等路径中的处理逻辑。 2. 检查 AIV/AICPU 场景下 UB_RTP Channel 创建及 Device ChannelEntity 转换流程,确认主线已有的 AIV 直驱 URMA 适配未在冲突解决过程中丢失。 3. 执行代码静态检查,确认无残留冲突标记,git diff --check 检查通过。 补充的UT用例: - 补充新旧协议枚举兼容性校验: - COMM_PROTOCOL_UBC_CTP == COMM_PROTOCOL_UB_CTP - COMM_PROTOCOL_UBG == COMM_PROTOCOL_UB_RTP - 更新 Endpoint、协议转换、NIC Plugin 等相关 UT,使其使用新的 UB_CTP、UB_RTP 协议名称。 已通过 A3、A5 RDV用例 ## 文档更新 更新了以下文档中的协议名称及说明: - CommProtocol 数据类型定义文档。 - HcommChannelCreate、HcommEndpointCreate 和 HcclChannelAcquire 接口文档。 - Hcomm Read、Write、Fence 等通信操作接口文档。 - CCU 通信算子开发指南及快速入门文档。 - NIC Plugin 中英文 README。 文档中将 UBC_CTP、UBG 分别更新为 UB_CTP、UB_RTP,同时保留旧枚举名称的兼容性说明。 ## 合入检查 <!-- 在正式合入前,请做好必要的代码测试,用例补充,软件代码风格检查等。提高合入效率。--> <!-- [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!4370 | 23 天前 | |
[revert] fix hccpTag Co-authored-by: rockethcgs<luobinyan1@huawei.com> # message auto-generated for no-merge-commit merge: !5165 merge revert-mr-5108-1788923354666-auto into master [revert] fix hccpTag Created-by: rockethcgs Commit-by: rockethcgs Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> revert PR-5108 ## 变更类型 请选择本次引入的变更类型: <!-- [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!5165 | 1 天前 | |
fix A2A CP flagtimeout Co-authored-by: gcw_NcEfY7mt<huyiliang3@h-partners.com> # message auto-generated for no-merge-commit merge: !4754 merge master into master fix A2A CP flagtimeout Created-by: gcw_NcEfY7mt Commit-by: gcw_NcEfY7mt Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 调整A2A CP算法中flag超时时间,由1800s改成HCCL_EXEC_TIMEOUT+60s ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [x] 🐛 Bug修复 - [ ] ✨ 新特性 - [ ] 🚀 性能优化 - [ ] 📝 文档更新 - [ ] 📋 其他,请描述: ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR不涉及Issue,可填写"NA"。--> https://gitcode.com/cann/hcomm/issues/834 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于构造对应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!4754 | 4 天前 | |
[fix]修改日志级别错配 Co-authored-by: ren-mengguang<renmengguang@h-partners.com> # message auto-generated for no-merge-commit merge: !4739 merge rmg_code into master [fix]修改日志级别错配 Created-by: ren-mengguang Commit-by: ren-mengguang Merged-by: cann-robot Description: ## 描述 本次 PR 对 UT 测试代码进行日志级别修正与重复代码消除,主要解决 codecheck 报出的"重复代码"与"超大函数"问题,同时修复日志级别错配。全部改动仅涉及 test/ 目录,未修改 src/ 功能代码。 ### 1. 日志级别修正 - **失败场景误用 INFO → 改为 ERROR**:多个测试 SetUpTestCase 中文件打开失败的日志从 HCCL_INFO 改为 HCCL_ERROR,符合"成功 INFO、失败 ERROR"的语义(ut_hcom.cc 4 处、ut_hccl_kernel_info.cc/ut_hccl_kernel_builder.cc/ut_hvd_graph_optimizer.cc/ut_hvd_kernel_builder.cc 各 1 处)。 - **调试打印误用 ERROR → 改为 INFO**:ut_hccl_host_shm.cc 中排查用的 HCCL_ERROR("jsh ...") 降为 HCCL_INFO,并删除重复的日志块与调试前缀。 - **裸 printf/cout/中文 → HCCL 日志宏/英文**:llt_hccl_stub_error_manager.cc 的 printf 改为 HCCL_INFO(补 #include "log.h");orion_adapter_hccp_stub.cc 的中文 std::cout 改为英文。 ### 2. 重复代码消除(codecheck 报出的"重复代码"与"超大函数"问题) - **WaitRanksReady 辅助函数**(ut_hccl_host_shm.cc):impl_host_shm_broadcast_task 与 impl_host_shm_all_reduce_task 中逐字复制的 11 行同步屏障代码(CAS 自旋 + sched_yield + 内存屏障)抽取为 static void WaitRanksReady(...),两处改为一行调用。同时消除 all_reduce_task 的 52 行超大函数问题(NBNC 降至 <50)。 - **DoReduceScatterVTest 辅助函数**(ut_hcom.cc):ut_hcom_reducescatterv 与 ut_hcom_reducescatterv_check_int64 两个 TEST_F 几乎全等(42 行重复),仅数据类型(INT8/INT64)与期望返回(SUCCESS/E_NOT_SUPPORT)不同,抽取为参数化辅助函数,两个 TEST_F 各缩为一行调用。 - **WriteRankTableFile 共享辅助**(ut_rank_table.h):多个测试 SetUpTestCase 中"写 rank_table JSON 到文件"的样板代码(ofstream + 日志 + setw + close)跨文件重复,抽取为 inline void WriteRankTableFile(...) 放入已有的 ut_rank_table.h,ut_hccl_kernel_info.cc、ut_hccl_kernel_builder.cc、ut_hcom.cc 各替换为一行调用。 ### 3. clang-format 格式修正 - 按仓库 .clang-format(v18.1.8, style=file)对改动文件执行格式化,修正 HcomReduceScatterV 调用换行位置、短 TEST_F 体折叠、JSON 缩进等格式偏差。 ## 变更类型 请选择本次引入的变更类型: - [ ] 🐛 Bug修复 - [ ] ✨ 新特性 - [ ] 🚀 性能优化 - [ ] 📝 文档更新 - [x] 📋 其他,请描述:UT 测试代码日志级别修正 + 重复代码消除 + clang-format 格式修正 ## 关联的Issue NA ## 测试 已完成的测试用例和场景: 1. ut_hccl_host_shm.cc:WaitRanksReady 抽取后,impl_host_shm_broadcast_task / impl_host_shm_all_reduce_task 逻辑不变,同步屏障行为保持一致。 2. ut_hcom.cc:DoReduceScatterVTest 参数化后,ut_hcom_reducescatterv(INT8→SUCCESS)与 ut_hcom_reducescatterv_check_int64(INT64→E_NOT_SUPPORT)的断言预期不变。 3. ut_rank_table.h:WriteRankTableFile 抽取后,ut_hccl_kernel_info.cc、ut_hccl_kernel_builder.cc、ut_hcom.cc 的 SetUpTestCase 写文件行为不变(同样创建 JSON 文件 + 同样日志)。 4. llt_hccl_stub_error_manager.cc:补 #include "log.h" 后 HCCL_INFO 宏可解析,-fsyntax-only 编译验证通过。 补充的UT用例:无新增用例,本次为既有用例的代码质量优化。 ## 文档更新 无 ## 合入检查 - [x] 🧐 已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定 - [x] 🔍 邀请 committer评论/lgtm前的必要检查 - [x] 🏷️ 标题中使用了合适的类型标签 - [x] 📄 代码修改内容已简要描述 - [x] 📝 代码遵循项目整体代码风格(clang-format v18.1.8 已通过) - [x] 🧪 代码UT测试已更新 - [x] 🔬 验证方法已更新到"测试"部分 - [x] 🛠️ 代码已通过静态分析工具检查 - [ ] 👥 代码检视/code review/同行评议 - [ ] ✅ 代码检视意见已处理或答复 - [ ] 🚀 预约前冒烟用例前的必要检查 - [ ] 🎯 预约 approver评论/approve,正式合入前的必要检查 See merge request: cann/hcomm!4739 | 16 天前 | |
question list Co-authored-by: fengshaoyu_kcaco<fengshaoyu5@huawei.com> # message auto-generated for no-merge-commit merge: !4729 merge master into master question list Created-by: fengshaoyu_kcaco Commit-by: fengshaoyu_kcaco Merged-by: cann-robot Description: ## 描述 <hcomm开源仓代码bug修复> ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [x] 🐛 Bug修复 - [ ] ✨ 新特性 - [ ] 🚀 性能优化 - [ ] 📝 文档更新 - [ ] 📋 其他,请描述: ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR不涉及Issue,可填写"NA"。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于构造对应xx测试用例、二级冒烟、算子泛化等。--> 已完成的测试用例和场景: 1. 2. 补充的UT用例: ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 合入检查 <!-- 在正式合入前,请做好必要的代码测试,用例补充,软件代码风格检查等。提高合入效率。--> <!-- [x] 表示选中 --> - [ ] 🧐 已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 - [x] 🔍 邀请 committer评论 /lgtm前的必要检查 - [ ] 🏷️ 标题中使用了合适的类型标签(如:[feat], [fix]) - [x] 📄 代码修改内容已简要描述,相关文档已更新 - [x] 📝 代码注释已更新,代码遵循项目整体代码风格 - [x] 🧪 代码UT测试已更新,覆盖率已达标 - [ ] 🔬 验证方法已更新到"测试"部分 - [ ] 🛠️ 代码已通过静态分析工具检查,无错误 - [ ] 👥 代码检视/code review/同行评议和必要的代码串讲,确保代码质量 - [x] ✅ 代码检视意见已处理或答复,无未处理的检视意见 - [ ] 🚀 预约 前冒烟 用例前的必要检查 - [x] ✔️ 代码已有committer的/lgtm 和 模块committer的/lgtm评论 - [x] 🔧 代码已通过compile,编译无错误,无告警 - [ ] 🖥️ 代码已通过基本功能本地测试或者在线测试,确保基本功能正常 - [ ] 🎯 预约 approver评论/approve,正式合入前的必要检查 - [ ] 📊 前冒烟 用例已全量通过 - [ ] 📦 新增功能已同步补充基本功能测试用例到前冒烟里 See merge request: cann/hcomm!4729 | 14 天前 | |
[feat]hccl支持channel/res模块日志可配置 Co-authored-by: wangjiawen16<wangjiawen16@h-partners.com> # message auto-generated for no-merge-commit merge: !4720 merge feature/hccp-log into master [feat]hccl支持channel/res模块日志可配置 Created-by: wangjiawen16 Commit-by: wangjiawen16 Merged-by: cann-robot Description: ## 描述 本 PR 引入"按域/模块可开关"的调试日志能力,统一资源类日志打印资源 ID(qpn),降低默认日志量。 ### 改动动机 1. hccp/hccm 数据面高频路径(WR/send/recv、建链后每请求级调用)默认即打印 INFO 级日志,批量收发场景刷屏并显著损耗性能。 2. 控制面资源申请/销毁日志(Create/Destroy Qp、Stream/Notify/Event 等)此前打印进程内指针,跨进程/跨重启无法与设备侧资源对账。 3. 原有 run 日志无法按模块独立开关,调测时需整体开启,噪声大。 ### 改动方法 1. 新增 PLF 调试配置解析(plf_debug_config.cc/.h、config_plf_log_v2.h): - 环境变量 HCCL_DEBUG_CONFIG 支持域:ALG、TASK、RESOURCE; - 环境变量 HCOMM_DEBUG_CONFIG 支持域:TASK、RESOURCE、DATA_OP、CHANNEL; - 取值格式:逗号分隔的域关键字(大小写不敏感),支持前缀 ^ 取反(配置的域关闭、其余打开);非法域项打印错误日志并返回 0; - 掩码位含义:bit0 ALG、bit1 TASK、bit2 RES、bit3 DATA_OP、bit4 CHANNEL。 2. 新增 PLF_CONFIG_INFO / PLF_CONFIG_DEBUG 宏:命中对应域掩码时走 run 日志,否则走普通 INFO/DEBUG;数据面高频路径补充 if (GetPlfDebugConfigValue() & <DOMAIN>) 门控以默认静默。 3. 新增 hccp 模块级日志开关(inc/private/network/log/config_log.h、perf.h):HccpSetDebugConfig/HccpGetDebugConfig + hccp_info_*/hccp_warn_* 模块宏 + PERF_TRACE 性能探针;模块位定义见 ra_rs_opcode.h(bit0 INIT、bit1 RDMA_OP、bit2 SOCKET_OP、bit3 OTHERS)。 4. 新增对外接口 RaSetDebugConfig(info, debugConfig)(inc/network/hccp.h,经 ra.map 导出),三分支:PEER_ONLINE 直写、OFFLINE 经 RaHdcSetDebugConfig 下发(ra_hdc.map 导出)、非法 mode 返回 -EPROTONOSUPPORT。 5. 资源类日志统一打印 qpn:Create/Destroy Qp、批量销毁 Qp 等日志由打印指针/vector 地址改为打印 qpn。 ## 变更类型 请选择本次引入的变更类型: - [ ] 🐛 Bug修复 - [x] ✨ 新特性 - [ ] 🚀 性能优化 - [ ] 📝 文档更新 - [ ] 📋 其他,请描述: ## 关联的Issue NA ## 测试 已完成的测试用例和场景: 1. 为 TransportStatusToChannelStatus 补充 ut_channel_roce_factory.cc 用例 2. 更新受影响的既有 UT:ut_env_config.cc、ut_rtsq_a5.cc、ut_aicpu_task_utils.cc、ut_aicpu_task_cache_entry.cc、ut_include/user_log.h 等 补充的UT用例: 3. 为 RaSetDebugConfig 补充 tc_host.c 三分支用例:参数校验(info 空 / phyId 越界)、PEER_ONLINE 直写生效(HccpGetDebugConfig 校验)、OFFLINE 经 RaHdcSetDebugConfig 下发、非法 mode 返回错误。 4.RDV 以及本地测试已经验证通过 ## 文档更新 NA ## 合入检查 <!-- 在正式合入前,请做好必要的代码测试,用例补充,软件代码风格检查等。提高合入效率。--> <!-- [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!4720 | 1 天前 | |
[feat]hccl支持channel/res模块日志可配置 Co-authored-by: wangjiawen16<wangjiawen16@h-partners.com> # message auto-generated for no-merge-commit merge: !4720 merge feature/hccp-log into master [feat]hccl支持channel/res模块日志可配置 Created-by: wangjiawen16 Commit-by: wangjiawen16 Merged-by: cann-robot Description: ## 描述 本 PR 引入"按域/模块可开关"的调试日志能力,统一资源类日志打印资源 ID(qpn),降低默认日志量。 ### 改动动机 1. hccp/hccm 数据面高频路径(WR/send/recv、建链后每请求级调用)默认即打印 INFO 级日志,批量收发场景刷屏并显著损耗性能。 2. 控制面资源申请/销毁日志(Create/Destroy Qp、Stream/Notify/Event 等)此前打印进程内指针,跨进程/跨重启无法与设备侧资源对账。 3. 原有 run 日志无法按模块独立开关,调测时需整体开启,噪声大。 ### 改动方法 1. 新增 PLF 调试配置解析(plf_debug_config.cc/.h、config_plf_log_v2.h): - 环境变量 HCCL_DEBUG_CONFIG 支持域:ALG、TASK、RESOURCE; - 环境变量 HCOMM_DEBUG_CONFIG 支持域:TASK、RESOURCE、DATA_OP、CHANNEL; - 取值格式:逗号分隔的域关键字(大小写不敏感),支持前缀 ^ 取反(配置的域关闭、其余打开);非法域项打印错误日志并返回 0; - 掩码位含义:bit0 ALG、bit1 TASK、bit2 RES、bit3 DATA_OP、bit4 CHANNEL。 2. 新增 PLF_CONFIG_INFO / PLF_CONFIG_DEBUG 宏:命中对应域掩码时走 run 日志,否则走普通 INFO/DEBUG;数据面高频路径补充 if (GetPlfDebugConfigValue() & <DOMAIN>) 门控以默认静默。 3. 新增 hccp 模块级日志开关(inc/private/network/log/config_log.h、perf.h):HccpSetDebugConfig/HccpGetDebugConfig + hccp_info_*/hccp_warn_* 模块宏 + PERF_TRACE 性能探针;模块位定义见 ra_rs_opcode.h(bit0 INIT、bit1 RDMA_OP、bit2 SOCKET_OP、bit3 OTHERS)。 4. 新增对外接口 RaSetDebugConfig(info, debugConfig)(inc/network/hccp.h,经 ra.map 导出),三分支:PEER_ONLINE 直写、OFFLINE 经 RaHdcSetDebugConfig 下发(ra_hdc.map 导出)、非法 mode 返回 -EPROTONOSUPPORT。 5. 资源类日志统一打印 qpn:Create/Destroy Qp、批量销毁 Qp 等日志由打印指针/vector 地址改为打印 qpn。 ## 变更类型 请选择本次引入的变更类型: - [ ] 🐛 Bug修复 - [x] ✨ 新特性 - [ ] 🚀 性能优化 - [ ] 📝 文档更新 - [ ] 📋 其他,请描述: ## 关联的Issue NA ## 测试 已完成的测试用例和场景: 1. 为 TransportStatusToChannelStatus 补充 ut_channel_roce_factory.cc 用例 2. 更新受影响的既有 UT:ut_env_config.cc、ut_rtsq_a5.cc、ut_aicpu_task_utils.cc、ut_aicpu_task_cache_entry.cc、ut_include/user_log.h 等 补充的UT用例: 3. 为 RaSetDebugConfig 补充 tc_host.c 三分支用例:参数校验(info 空 / phyId 越界)、PEER_ONLINE 直写生效(HccpGetDebugConfig 校验)、OFFLINE 经 RaHdcSetDebugConfig 下发、非法 mode 返回错误。 4.RDV 以及本地测试已经验证通过 ## 文档更新 NA ## 合入检查 <!-- 在正式合入前,请做好必要的代码测试,用例补充,软件代码风格检查等。提高合入效率。--> <!-- [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!4720 | 1 天前 | |
[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 | 9 天前 |