| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
[feat] UB协议DFX快照采集:endpoint创建通知HCCP开始、通信故障通知结束 Co-authored-by: wangjiawen16<wangjiawen16@h-partners.com> # message auto-generated for no-merge-commit merge: !5980 merge feature/ub-dfx-snapshot-notify-v3 into master [feat] UB协议DFX快照采集:endpoint创建通知HCCP开始、通信故障通知结束 Created-by: wangjiawen16 Commit-by: wangjiawen16 Merged-by: cann-robot Description: ## 描述 实现 Issue #961:UB 协议通信域建立 DFX 快照采集通知机制——UB 协议(UB_CTP/UBC_TP/UB_RTP)endpoint 创建时通过 HCCP RaCtxNotifyEvent 通知开始采集,通信故障通知控制面成功后通知结束采集。 ### 实现要点 1. **HccpNotifyDfxSnapshot(ctxHandle, devPhyId, dieId, start)**(hcomm_adapter_hccp):按二维【卡粒度×die粒度】进程级状态机: - start:按 (设备, die) 去重,每个 die **无论成败只通知一次**("只通知一次"为设计语义,防止失败重复刷屏) - end:**一次故障全局结束**——任一次通信故障触发 end 时,把所有已成功 start 且未发起 end 的 die 全部通知结束(跨设备、跨 die),**各用其 start 时的 ctxHandle 下发**(多 die/多设备会话各自句柄,避免串 die);多卡单进程场景下任意设备故障会连带结束本进程内其他设备的采集,进程退出/设备 reset 由 HccpResetDfxSnapshot 按设备清理;**end 失败可重试**——下发失败回滚去重登记并保留待结束账本,后续故障再次触发 end 可重试,不永久漏掉 - RaHasCapability 按设备 ID 判定;事件类型经 hccp_ctx.h 的 NET_DFX_SNAPSHOT_EVENT_TYPE 统一暴露(值必须与 aubdfx_api.h 的 NET_DFX_SNAPSHOT_CMD 保持一致),hcomm 层不依赖 aubdfx_api.h;reset 清理状态防悬垂 2. **CreateBuiltinEndpoint**(hcomm_endpoint_c_adpt):UB 协议(UB_CTP/UBC_TP/UB_RTP)复用 EidInfoMgr::GetEidInfoByAddr 按本 endpoint 的 commAddr(EID,内部归一化查 map)查得所属 dieId 后仅通知本 die 一次;rdmaHandle 为 per-EID ctx,多 die 设备由各 die 自己的 endpoint 分别通知;UB_MEM 无 RDMA 上下文(GetRdmaHandle 恒 nullptr)不参与;查询失败不影响 endpoint 创建 3. **结束采集**:故障实际发生时收尾——hcclCommTaskException 在故障确认(ubCqeStatus 非 0)后、控制面上报之前调用 end;ccuTaskException 在故障 jetty 上报后无条件调用 end(不依赖上报结果) 4. **设备 reset**:OnDeviceResetPre 调 HccpResetDfxSnapshot 清理缓存句柄防悬垂 ### 与已回退 #5552 的差异(#5552 回退说明仅"代码回退"未记原因,本次重提已按检视意见完善) - **状态机升级**:由"进程内全局一次 start/end"改为**二维【卡×die】粒度**(每 (设备,die) 各自去重),支持双 die/多设备独立会话 - **end 语义**:一次故障全局结束——结束全部已 start 的 die(各用各自 ctxHandle),非单次结束;多卡单进程下任意设备故障触发即结束本进程全部设备的采集(进程级语义,设计意图) - **UT 增强**:HccpNotifyDfxSnapshot 状态机 9 用例(单/多 die、跨设备全局 end、能力不支持、start/end 失败、end 失败重试、reset、调用次数断言)+ CreateBuiltinEndpoint 集成 2 用例(设备无效/EID 未匹配跳过通知、EID 匹配下发一次) - 代码量 +266 行(#5552 为 +176) ### 与 Issue #961 方案的偏差及原因 - **UB_MEM 排除**:UB_MEM 无 RDMA 上下文(GetRdmaHandle 恒 nullptr),无法承载 RaCtxNotifyEvent,故不参与 - **结束触发点**:置于两处 NotifyControlPlaneOnUbError(控制面通知成功后)——故障通知与快照结束在同一控制面上报链路,保证先通知后收尾 - **多 die 语义**:Issue 的"全局一次开始/结束"细化为按 die 会话(双 die 设备每个 die 独立采集),由 GetDeviceEidInfos 的 dieId 支撑 ## 变更类型 - [x] 🐛 Bug修复 - [x] ✨ 新特性 - [ ] 🚀 性能优化 - [ ] 📝 文档更新 - [ ] 📋 其他,请描述: ## 关联的Issue #961 ## 测试 已完成的测试用例和场景: 1. UT:ut_hcomm_adapter_hccp_test.cc(8 用例,含 RaCtxNotifyEvent 调用次数断言验证去重契约)+ ut_hcomm_endpoint_ub_rtp_test.cc(集成用例:设备无效/EID 未匹配跳过通知创建仍成功、EID 匹配下发一次) 2. 编译验证(依赖 CI /compile 门禁) ## 文档更新 NA ## 合入检查 - [x] 🧐 已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 - [x] 🔍 邀请 committer评论/lgtm前的必要检查 - [x] 🏷️ 标题中使用了合适的类型标签(如:[feat], [fix]) - [x] 📄 代码修改内容已简要描述,相关文档已更新 - [x] 📝 代码注释已更新,代码遵循项目整体代码风格 - [x] 🧪 代码UT测试已更新,覆盖率已达标 - [x] 🔬 验证方法已更新到"测试"部分 - [x] 🛠️ 代码已通过静态分析工具检查,无错误 - [ ] 👥 代码检视/code review/同行评议和必要的代码串讲,确保代码质量 - [ ] ✅ 代码检视意见已处理或答复,无未处理的检视意见 - [ ] 🚀 预约 前冒烟 用例前的必要检查 - [ ] ✔️ 代码已有committer的/lgtm 和 模块committer的/lgtm评论 - [ ] 🔧 代码已通过compile,编译无错误,无告警 - [ ] 🖥️ 代码已通过基本功能本地测试或者在线测试,确保基本功能正常 - [ ] 🎯 预约 approver评论/approve,正式合入前的必要检查 - [ ] 📊 前冒烟 用例已全量通过 - [ ] 📦 新增功能已同步补充基本功能测试用例到前冒烟里 See merge request: cann/hcomm!5980 | 6 天前 | |
[feat]InconsistentCheckExchangeDataLogicChanges Co-authored-by: renyumin<renyumin1@huawei.com> # message auto-generated for no-merge-commit merge: !5502 merge ChannelAcquire into master [feat]InconsistentCheckExchangeDataLogicChanges Created-by: renyumin Commit-by: renyumin Merged-by: cann-robot Description: ## 描述 主要问题 当前主线代码一致性校验部分每个 channel 需调用 SocketSend 接口三次(hcommData、hcclDataSize 和 hcclData),对性能影响较大,因此做如下修改以尽可能减少 SocketSend 调用次数: 1. 通过 BinaryStream 将 hcommData 和 hcclData 直接打包在一起并预留8字节存储整个数据包的大小信息 [uint64_t sizeHead][size_t hcommDataSize][hcommData][size_t hcclData][hcclDataSize],数据包前预留8字节大小用于存储整个数据包的大小信息,这样便能够使每条 Socket 仅发送一次即可,接收时先 Recv 前8字节并检查 size 头信息是否符合预期,之后再通过 BinaryStream 逐个解包 2. 为贴合目录架构并避免更新 legacy 目录内容 ,将 CollCommConfigConsistency 和 RankConsistencyCheckerV2 两个类以及定义后仅在一致性校验中使用的常量的位置调整到/src/coll_communicator_mgr/dfx/inconsistentCheck目录下,同时排查了符号使用情况不再编译进 hccl_v2 3. 两次 Recv 分别获取前8字节的大小信息和数据载荷,前一次 Recv 到大小信息后直接与本端发送大小做比较,预期两端信息大小应相等 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug修复 - [ ] ✨ 新特性 - [x] 🚀 性能优化 - [ ] 📝 文档更新 - [ ] 📋 其他,请描述: ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR不涉及Issue,可填写"NA"。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于构造对应xx测试用例、二级冒烟、算子泛化等。--> 已完成的测试用例和场景: 1. hccltest aicpu_ts 2*8P 场景 2. hccltest hostdpu roce 2*2P 场景 3. HCCL A5 RDV 4. hostdpu RDV 补充的UT用例: | 用例 | 所属文件 | 构造场景 | 预期效果 | | --- | --- | --- | --- | | ExchangeInfoMgrTest.Ut_PackExchangeInfo_When_HcclDataAdded_Expect_BothPackets | ut_exchange_info_mgr.cc | 本端 AddExchangeInfo 添加 4 字节后调用 PackExchangeInfo | sizeAll = size_t+CheckFrameV2+size_t+4、sizeOnlyHccl = size_t+size_t+4;解包 allData 得 checkFrameSize=sizeof(CheckFrameV2)+帧+4 字节,onlyHcclData 得 checkFrameSize=0+4 字节 | | ExchangeInfoMgrTest.Ut_BatchExchange_When_RankAlreadyChecked_Expect_OnlyHcclData | ut_exchange_info_mgr.cc | 三轮交换:①首次携带 hcommData;②已校验且新增 hcclData;③已校验且无 hcclData(空载荷包) | 三轮均返回 HCCL_SUCCESS;首轮后 checkedRankIdList_ 含对端 rank | | ExchangeInfoMgrTest.Ut_CheckRecvedSizes_When_Invalid_Expect_ParaError | ut_exchange_info_mgr.cc | 依次构造:recvedSizes 数量与期望不一致;size=50 与期望 100 不一致;再置为一致 | 前两种返回 HCCL_E_PARA,一致时返回 HCCL_SUCCESS | | ExchangeInfoMgrTest.Ut_ConsistencyRecvDataProc_When_RemoteDataLenMismatch_Expect_ParaError | ut_exchange_info_mgr.cc | 本端 AddExchangeInfo 4 字节,对端回包 hcclData 为 8 字节(CheckFrameV2 比对 mock 成功) | 返回 HCCL_E_PARA | | ExchangeInfoMgrTest.Ut_ConsistencyRecvDataProc_When_RemoteDataEmpty_Expect_SkipStore | ut_exchange_info_mgr.cc | 对端回包为 [size_t 0][空 hcclData] | 返回 HCCL_SUCCESS;GetExchangeInfo 查询返回 actualLength=0(未存储) | | ExchangeInfoMgrTest.Ut_ConsistencyRecvDataProc_When_RemoteFrameSizeMismatch_Expect_ParaError | ut_exchange_info_mgr.cc | 对端回包声明的 CheckFrameV2 大小为本端 sizeof(CheckFrameV2)+1 | 返回 HCCL_E_PARA,不进入帧解析 | | ExchangeInfoMgrTest.Ut_ConsistencyRecvDataProc_When_RecvBuffEmpty_Expect_Internal | ut_exchange_info_mgr.cc | ctx.recvBuffs 含一个空 buffer(当前协议下每个 rank 必收完整包,不应出现) | 返回 HCCL_E_INTERNAL | | ExchangeInfoMgrTest.Ut_BatchExchange_When_ChannelNumZero_Expect_Success | ut_exchange_info_mgr.cc | channelNum=0 时调用 BatchExchangeAndCheckConsistency | 直接返回 HCCL_SUCCESS,不访问 channel/socket | | ExchangeInfoMgrTest.Ut_BatchExchange_When_ChannelGetDescFails_Expect_Error | ut_exchange_info_mgr.cc | ChannelGetDesc 返回 HCCL_E_NOT_FOUND | 透传 HCCL_E_NOT_FOUND | | ExchangeInfoMgrTest.Ut_BatchExchange_When_SocketNull_Expect_Internal | ut_exchange_info_mgr.cc | ChannelGetDesc 返回的 desc.socket 为空指针 | 返回 HCCL_E_INTERNAL | | ExchangeInfoMgrTest.Ut_BatchExchange_When_PackSizeExceedsLimit_Expect_ParaError | ut_exchange_info_mgr.cc | 绕过 AddExchangeInfo 上限,直接构造 HCCL_EXCHANGE_INFO_LEN+1(1025 字节)本端数据 | 拼包超限返回 HCCL_E_PARA,不进入收发流程 | | MyRankTest.Ut_NeedCheckConsistency_When_DevType950AndModeFirst_Expect_NeedCheck | ut_my_rank.cc | mock 设备类型 950,配置 HCCL_DFS_CONFIG=inconsistent_check:first | 返回 HCCL_SUCCESS,needCheck=true(用例结束恢复配置) | | MyRankTest.Ut_NeedCheckConsistency_When_DevType960AndModeOn_Expect_NeedCheck | ut_my_rank.cc | mock 设备类型 960,配置 inconsistent_check:on | 返回 HCCL_SUCCESS,needCheck=true | | MyRankTest.Ut_NeedCheckConsistency_When_ModeOff_Expect_NoNeedCheck | ut_my_rank.cc | mock 设备类型 950,配置 inconsistent_check:off | 返回 HCCL_SUCCESS,needCheck=false | | MyRankTest.Ut_NeedCheckConsistency_When_DevTypeNotSupport_Expect_NoNeedCheck | ut_my_rank.cc | mock 设备类型 910B,配置 inconsistent_check:on | 返回 HCCL_SUCCESS,needCheck=false | | MyRankTest.Ut_NeedCheckConsistency_When_GetDeviceTypeFails_Expect_Error | ut_my_rank.cc | mock hrtGetDeviceType 返回失败(HCCL_E_RUNTIME) | 透传 HCCL_E_RUNTIME,needCheck 保持 false | | MyRankTest.Ut_BatchExchangeAndCheckConsistency_When_NeedCheckFails_Expect_Propagate | ut_my_rank.cc | mock NeedCheckConsistency 返回 HCCL_E_INTERNAL | BatchExchangeAndCheckConsistency 透传 HCCL_E_INTERNAL | | MyRankTest.Ut_BatchExchangeAndCheckConsistency_When_NeedCheckFalse_Expect_Skip | ut_my_rank.cc | mock needCheck=false;将 ExchangeInfoMgr 交换 mock 为超时以探测是否被调用 | 跳过一致性交换(不调用 ExchangeInfoMgr),返回 HCCL_SUCCESS | | ExchangeInfoTest.Ut_CApiAddExchangeInfo_When_RankConsistentStateOff_Expect_NotSupport | ut_exchange_info.cc | 配置 HCCL_DFS_CONFIG=inconsistent_check:off 后调用 HcclCommAddExchangeInfo | 返回 HCCL_E_NOT_SUPPORT(用例结束恢复配置) | | TestChannelProcess.Ut_ChannelGetDesc_When_DescNullptr_Return_HCCL_E_PTR | ut_channel_process_test.cc | ChannelGetDesc 入参 channelDesc 为 nullptr | 返回 HCCL_E_PTR | | TestChannelProcess.Ut_ChannelGetDesc_When_HandleNotFound_Return_Error | ut_channel_process_test.cc | 传入未注册的 channel handle | 返回 HCCL_E_NOT_FOUND | | TestChannelProcess.Ut_ChannelGetDesc_When_Normal_Return_ChannelDesc | ut_channel_process_test.cc | 注册带 desc(role/socket)的 fake channel 后传入有效 handle | 返回 HCCL_SUCCESS,取出的 role/socket 与注册值一致 | ## 文档更新 <!--如果这个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!5502 | 20 天前 | |
【feat】base_comm提供边界目录给coll_comm使用 Co-authored-by: BenjaminKk<xieyukun1@huawei.com> Co-authored-by: zjw22<zhujiawei29@huawei.com> Co-authored-by: zzzdddhhh22<zhaodehan@huawei.com> # message auto-generated for no-merge-commit merge: !5577 merge 930_1 into master 【feat】base_comm提供边界目录给coll_comm使用 Created-by: zjw22 Commit-by: zjw22;BenjaminKk;zzzdddhhh22 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ### 背景 base_comm 内部实现头(resources/**、dfx/**、primitives/**、common/** 等)被 coll_communicator_mgr、legacy、测试以裸头名直接 #include,边界不清、内部类型外泄、跨模块强耦合,且 base_comm 反向依赖了 L2 的 comm_addr_logger、ccuTaskException,违反「上层依赖下层、下层不反向依赖」的分层约束。 ### 采取的方法 1. **新增边界目录 src/base_comm/inc/**:新增 20 个 *_pub.h(ccu/6、comm/4+comm/debug/1、dfx/3、channel/2、endpoint/1、thread/1+thread/aicpu/2),并将 base_comm 内部 21 个需对外暴露的头整体重命名/迁移到 inc/ 下(原位置改为转发 shim 或直接迁移),头保护宏统一为 HCOMM_ 前缀。inc/ 下最终共 41 个 _pub.h。 2. **消除反向依赖**:将 coll_communicator_mgr/common/loggers/comm_addr_logger.{h,cc} 下沉到 base_comm/common/、ccuTaskException.{h,cc} 下沉到 base_comm/resources/ccu/ccu_dfx/。 3. **编译隔离**:新增 src/coll_communicator_mgr/hcomm_coll_comm.cmake,定义 OBJECT 库 hcomm_coll_comm_obj(显式 include 白名单)并链入 hcomm;顶层 CMakeLists.txt 与 cmake/device/CMakeLists.txt 全局声明 src/base_comm/inc;约 30 个 coll 子目录 CMake 由 hcomm 切到 hcomm_coll_comm_obj,并清理重复/冗余 include(ccl_kernel.cmake、hcomm.cmake、hcomm_base_obj.cmake、nic_plugin 等)。 4. **门面化/回调解耦**:新增 ccuTaskExceptionAdpt.cc(L2 注册 CCU 任务异常回调,使 base_comm 解码不依赖 L2 CollComm/HcclCommunicator/RankGraph)、AicpuThreadLaunchMgr(承接 AicpuLaunchMgr,仅 base_comm 内部使用)、channel_map_registry.h;线程公开 C API HcommThreadCreateAicpu/GetStreamLite/RegisterCacheCallback/Destroy 等;CCU 新增 QueryCcuInstanceEntity/CcuInstanceExists;通道新增 HcommChannelBuildDeviceEntity 等。 5. **include 路径统一**:全仓改为边界相对路径(comm/、ccu/、thread/、dfx/、endpoint/、config/、comm_engine_res/ 等)。 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug修复 - [x] ✨ 新特性 - [ ] 🚀 性能优化 - [ ] 📝 文档更新 - [ ] 📋 其他,请描述: ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR不涉及Issue,可填写"NA"。--> NA ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于构造对应xx测试用例、二级冒烟、算子泛化等。--> 已完成的测试用例和场景: 1. bash build.sh --pkg --full:主机侧 + device 侧全量编译通过,无 error。 2. bash build.sh --ut --st:UT/ST 目标全量编译通过,边界头、门面接口(线程/通道/CCU)、CCU 任务异常回调相关用例回归通过。 3. checker: CCU_SCHED  AICPU  AIV  补充的UT用例: - 同步更新门面化接口与桩:ut_thread_aicpu_mgr、ut_engine_aicpu_interface、ut_hcclCommTaskExceptionLite、ut_coll_comm_res_c_adpt、llt_next_orion_stub 等(新增 HcommThreadCreateAicpu/GetStreamLite/Destroy/RegisterCacheCallback 桩)。 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> - 随头文件迁移同步更新 src/coll_communicator_mgr/dfx/taskException/taskException.md 等模块说明。 ## 合入检查 <!-- 在正式合入前,请做好必要的代码测试,用例补充,软件代码风格检查等。提高合入效率。--> <!-- [x] 表示选中 --> - [x] 🧐 已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 - [x] 🔍 邀请 committer评论/lgtm前的必要检查 - [x] 🏷️ 标题中使用了合适的类型标签(如:[feat], [fix]) - [x] 📄 代码修改内容已简要描述,相关文档已更新 - [x] 📝 代码注释已更新,代码遵循项目整体代码风格 - [x] 🧪 代码UT测试已更新,覆盖率已达标 - [x] 🔬 验证方法已更新到"测试"部分 - [x] 🛠️ 代码已通过静态分析工具检查,无错误 - [ ] 👥 代码检视/code review/同行评议和必要的代码串讲,确保代码质量 - [ ] ✅ 代码检视意见已处理或答复,无未处理的检视意见 - [ ] 🚀 预约 前冒烟 用例前的必要检查 - [ ] ✔️ 代码已有committer的/lgtm 和 模块committer的/lgtm评论 - [ ] 🔧 代码已通过compile,编译无错误,无告警 - [ ] 🖥️ 代码已通过基本功能本地测试或者在线测试,确保基本功能正常 - [ ] 🎯 预约 approver评论/approve,正式合入前的必要检查 - [ ] 📊 前冒烟 用例已全量通过 - [ ] 📦 新增功能已同步补充基本功能测试用例到前冒烟里 See merge request: cann/hcomm!5577 | 6 天前 | |
[feat] 基于CCU::Func实现通过pc调用多kernel func Co-authored-by: gcw_7BxPXy6M<luoxiangyong1@huawei.com> # message auto-generated for no-merge-commit merge: !5345 merge func_old into master [feat] 基于CCU::Func实现通过pc调用多kernel func Created-by: gcw_7BxPXy6M Commit-by: gcw_7BxPXy6M Merged-by: cann-robot Description: ## 描述 新增CCU通过PC调用Func的能力,重载ccu::Func构造函数,新增带name命名的构造方式;新增HcommCcuFunctionGet接口,通过函数name获得PC;重载CallFunc接口,通过PC直接调用函数。 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug修复 - [x] ✨ 新特性 - [ ] 🚀 性能优化 - [ ] 📝 文档更新 - [ ] 📋 其他,请描述: ## 关联的Issue NA ## 测试 1. UT/ST测试通过 2. RDV测试通过 3. MC2实机联调用例场景通过 ## 文档更新 ## 合入检查 <!-- 在正式合入前,请做好必要的代码测试,用例补充,软件代码风格检查等。提高合入效率。--> <!-- [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!5345 | 6 天前 | |
【feat】base_comm提供边界目录给coll_comm使用 Co-authored-by: BenjaminKk<xieyukun1@huawei.com> Co-authored-by: zjw22<zhujiawei29@huawei.com> Co-authored-by: zzzdddhhh22<zhaodehan@huawei.com> # message auto-generated for no-merge-commit merge: !5577 merge 930_1 into master 【feat】base_comm提供边界目录给coll_comm使用 Created-by: zjw22 Commit-by: zjw22;BenjaminKk;zzzdddhhh22 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ### 背景 base_comm 内部实现头(resources/**、dfx/**、primitives/**、common/** 等)被 coll_communicator_mgr、legacy、测试以裸头名直接 #include,边界不清、内部类型外泄、跨模块强耦合,且 base_comm 反向依赖了 L2 的 comm_addr_logger、ccuTaskException,违反「上层依赖下层、下层不反向依赖」的分层约束。 ### 采取的方法 1. **新增边界目录 src/base_comm/inc/**:新增 20 个 *_pub.h(ccu/6、comm/4+comm/debug/1、dfx/3、channel/2、endpoint/1、thread/1+thread/aicpu/2),并将 base_comm 内部 21 个需对外暴露的头整体重命名/迁移到 inc/ 下(原位置改为转发 shim 或直接迁移),头保护宏统一为 HCOMM_ 前缀。inc/ 下最终共 41 个 _pub.h。 2. **消除反向依赖**:将 coll_communicator_mgr/common/loggers/comm_addr_logger.{h,cc} 下沉到 base_comm/common/、ccuTaskException.{h,cc} 下沉到 base_comm/resources/ccu/ccu_dfx/。 3. **编译隔离**:新增 src/coll_communicator_mgr/hcomm_coll_comm.cmake,定义 OBJECT 库 hcomm_coll_comm_obj(显式 include 白名单)并链入 hcomm;顶层 CMakeLists.txt 与 cmake/device/CMakeLists.txt 全局声明 src/base_comm/inc;约 30 个 coll 子目录 CMake 由 hcomm 切到 hcomm_coll_comm_obj,并清理重复/冗余 include(ccl_kernel.cmake、hcomm.cmake、hcomm_base_obj.cmake、nic_plugin 等)。 4. **门面化/回调解耦**:新增 ccuTaskExceptionAdpt.cc(L2 注册 CCU 任务异常回调,使 base_comm 解码不依赖 L2 CollComm/HcclCommunicator/RankGraph)、AicpuThreadLaunchMgr(承接 AicpuLaunchMgr,仅 base_comm 内部使用)、channel_map_registry.h;线程公开 C API HcommThreadCreateAicpu/GetStreamLite/RegisterCacheCallback/Destroy 等;CCU 新增 QueryCcuInstanceEntity/CcuInstanceExists;通道新增 HcommChannelBuildDeviceEntity 等。 5. **include 路径统一**:全仓改为边界相对路径(comm/、ccu/、thread/、dfx/、endpoint/、config/、comm_engine_res/ 等)。 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug修复 - [x] ✨ 新特性 - [ ] 🚀 性能优化 - [ ] 📝 文档更新 - [ ] 📋 其他,请描述: ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR不涉及Issue,可填写"NA"。--> NA ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于构造对应xx测试用例、二级冒烟、算子泛化等。--> 已完成的测试用例和场景: 1. bash build.sh --pkg --full:主机侧 + device 侧全量编译通过,无 error。 2. bash build.sh --ut --st:UT/ST 目标全量编译通过,边界头、门面接口(线程/通道/CCU)、CCU 任务异常回调相关用例回归通过。 3. checker: CCU_SCHED  AICPU  AIV  补充的UT用例: - 同步更新门面化接口与桩:ut_thread_aicpu_mgr、ut_engine_aicpu_interface、ut_hcclCommTaskExceptionLite、ut_coll_comm_res_c_adpt、llt_next_orion_stub 等(新增 HcommThreadCreateAicpu/GetStreamLite/Destroy/RegisterCacheCallback 桩)。 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> - 随头文件迁移同步更新 src/coll_communicator_mgr/dfx/taskException/taskException.md 等模块说明。 ## 合入检查 <!-- 在正式合入前,请做好必要的代码测试,用例补充,软件代码风格检查等。提高合入效率。--> <!-- [x] 表示选中 --> - [x] 🧐 已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 - [x] 🔍 邀请 committer评论/lgtm前的必要检查 - [x] 🏷️ 标题中使用了合适的类型标签(如:[feat], [fix]) - [x] 📄 代码修改内容已简要描述,相关文档已更新 - [x] 📝 代码注释已更新,代码遵循项目整体代码风格 - [x] 🧪 代码UT测试已更新,覆盖率已达标 - [x] 🔬 验证方法已更新到"测试"部分 - [x] 🛠️ 代码已通过静态分析工具检查,无错误 - [ ] 👥 代码检视/code review/同行评议和必要的代码串讲,确保代码质量 - [ ] ✅ 代码检视意见已处理或答复,无未处理的检视意见 - [ ] 🚀 预约 前冒烟 用例前的必要检查 - [ ] ✔️ 代码已有committer的/lgtm 和 模块committer的/lgtm评论 - [ ] 🔧 代码已通过compile,编译无错误,无告警 - [ ] 🖥️ 代码已通过基本功能本地测试或者在线测试,确保基本功能正常 - [ ] 🎯 预约 approver评论/approve,正式合入前的必要检查 - [ ] 📊 前冒烟 用例已全量通过 - [ ] 📦 新增功能已同步补充基本功能测试用例到前冒烟里 See merge request: cann/hcomm!5577 | 6 天前 | |
【feat】base_comm提供边界目录给coll_comm使用 Co-authored-by: BenjaminKk<xieyukun1@huawei.com> Co-authored-by: zjw22<zhujiawei29@huawei.com> Co-authored-by: zzzdddhhh22<zhaodehan@huawei.com> # message auto-generated for no-merge-commit merge: !5577 merge 930_1 into master 【feat】base_comm提供边界目录给coll_comm使用 Created-by: zjw22 Commit-by: zjw22;BenjaminKk;zzzdddhhh22 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ### 背景 base_comm 内部实现头(resources/**、dfx/**、primitives/**、common/** 等)被 coll_communicator_mgr、legacy、测试以裸头名直接 #include,边界不清、内部类型外泄、跨模块强耦合,且 base_comm 反向依赖了 L2 的 comm_addr_logger、ccuTaskException,违反「上层依赖下层、下层不反向依赖」的分层约束。 ### 采取的方法 1. **新增边界目录 src/base_comm/inc/**:新增 20 个 *_pub.h(ccu/6、comm/4+comm/debug/1、dfx/3、channel/2、endpoint/1、thread/1+thread/aicpu/2),并将 base_comm 内部 21 个需对外暴露的头整体重命名/迁移到 inc/ 下(原位置改为转发 shim 或直接迁移),头保护宏统一为 HCOMM_ 前缀。inc/ 下最终共 41 个 _pub.h。 2. **消除反向依赖**:将 coll_communicator_mgr/common/loggers/comm_addr_logger.{h,cc} 下沉到 base_comm/common/、ccuTaskException.{h,cc} 下沉到 base_comm/resources/ccu/ccu_dfx/。 3. **编译隔离**:新增 src/coll_communicator_mgr/hcomm_coll_comm.cmake,定义 OBJECT 库 hcomm_coll_comm_obj(显式 include 白名单)并链入 hcomm;顶层 CMakeLists.txt 与 cmake/device/CMakeLists.txt 全局声明 src/base_comm/inc;约 30 个 coll 子目录 CMake 由 hcomm 切到 hcomm_coll_comm_obj,并清理重复/冗余 include(ccl_kernel.cmake、hcomm.cmake、hcomm_base_obj.cmake、nic_plugin 等)。 4. **门面化/回调解耦**:新增 ccuTaskExceptionAdpt.cc(L2 注册 CCU 任务异常回调,使 base_comm 解码不依赖 L2 CollComm/HcclCommunicator/RankGraph)、AicpuThreadLaunchMgr(承接 AicpuLaunchMgr,仅 base_comm 内部使用)、channel_map_registry.h;线程公开 C API HcommThreadCreateAicpu/GetStreamLite/RegisterCacheCallback/Destroy 等;CCU 新增 QueryCcuInstanceEntity/CcuInstanceExists;通道新增 HcommChannelBuildDeviceEntity 等。 5. **include 路径统一**:全仓改为边界相对路径(comm/、ccu/、thread/、dfx/、endpoint/、config/、comm_engine_res/ 等)。 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug修复 - [x] ✨ 新特性 - [ ] 🚀 性能优化 - [ ] 📝 文档更新 - [ ] 📋 其他,请描述: ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR不涉及Issue,可填写"NA"。--> NA ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于构造对应xx测试用例、二级冒烟、算子泛化等。--> 已完成的测试用例和场景: 1. bash build.sh --pkg --full:主机侧 + device 侧全量编译通过,无 error。 2. bash build.sh --ut --st:UT/ST 目标全量编译通过,边界头、门面接口(线程/通道/CCU)、CCU 任务异常回调相关用例回归通过。 3. checker: CCU_SCHED  AICPU  AIV  补充的UT用例: - 同步更新门面化接口与桩:ut_thread_aicpu_mgr、ut_engine_aicpu_interface、ut_hcclCommTaskExceptionLite、ut_coll_comm_res_c_adpt、llt_next_orion_stub 等(新增 HcommThreadCreateAicpu/GetStreamLite/Destroy/RegisterCacheCallback 桩)。 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> - 随头文件迁移同步更新 src/coll_communicator_mgr/dfx/taskException/taskException.md 等模块说明。 ## 合入检查 <!-- 在正式合入前,请做好必要的代码测试,用例补充,软件代码风格检查等。提高合入效率。--> <!-- [x] 表示选中 --> - [x] 🧐 已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 - [x] 🔍 邀请 committer评论/lgtm前的必要检查 - [x] 🏷️ 标题中使用了合适的类型标签(如:[feat], [fix]) - [x] 📄 代码修改内容已简要描述,相关文档已更新 - [x] 📝 代码注释已更新,代码遵循项目整体代码风格 - [x] 🧪 代码UT测试已更新,覆盖率已达标 - [x] 🔬 验证方法已更新到"测试"部分 - [x] 🛠️ 代码已通过静态分析工具检查,无错误 - [ ] 👥 代码检视/code review/同行评议和必要的代码串讲,确保代码质量 - [ ] ✅ 代码检视意见已处理或答复,无未处理的检视意见 - [ ] 🚀 预约 前冒烟 用例前的必要检查 - [ ] ✔️ 代码已有committer的/lgtm 和 模块committer的/lgtm评论 - [ ] 🔧 代码已通过compile,编译无错误,无告警 - [ ] 🖥️ 代码已通过基本功能本地测试或者在线测试,确保基本功能正常 - [ ] 🎯 预约 approver评论/approve,正式合入前的必要检查 - [ ] 📊 前冒烟 用例已全量通过 - [ ] 📦 新增功能已同步补充基本功能测试用例到前冒烟里 See merge request: cann/hcomm!5577 | 6 天前 | |
[fix] Channel建链收编-CCU销毁修复 Co-authored-by: miaoziyi1031<miaoziyi3@huawei.com> # message auto-generated for no-merge-commit merge: !6292 merge fix/aicpu-channel-destroy-only-3ba8857 into master [fix] Channel建链收编-CCU销毁修复 Created-by: miaoziyi1031 Commit-by: miaoziyi1031 Merged-by: cann-robot Description: ## 描述 修复采用HcommChannelCreate + HcommChannelGetStatus收编A5集合通信Channel建链流程后,通道销毁时将非 AICPU 通道句柄下发至 AICPU kernel 的问题,增加引擎过滤,仅将 COMM_ENGINE_AICPU 和 COMM_ENGINE_AICPU_TS 类型的通道加入 kernel 销毁列表。 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [x] 🐛 Bug修复 - [ ] ✨ 新特性 - [ ] 🚀 性能优化 - [ ] 📝 文档更新 - [ ] 📋 其他,请描述: ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR不涉及Issue,可填写"NA"。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于构造对应xx测试用例、二级冒烟、算子泛化等。--> 已完成的测试用例和场景: 补充的UT用例: ## 文档更新 无 ## 合入检查 <!-- 在正式合入前,请做好必要的代码测试,用例补充,软件代码风格检查等。提高合入效率。--> <!-- [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!6292 | 5 天前 | |
【feat】base_comm提供边界目录给coll_comm使用 Co-authored-by: BenjaminKk<xieyukun1@huawei.com> Co-authored-by: zjw22<zhujiawei29@huawei.com> Co-authored-by: zzzdddhhh22<zhaodehan@huawei.com> # message auto-generated for no-merge-commit merge: !5577 merge 930_1 into master 【feat】base_comm提供边界目录给coll_comm使用 Created-by: zjw22 Commit-by: zjw22;BenjaminKk;zzzdddhhh22 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ### 背景 base_comm 内部实现头(resources/**、dfx/**、primitives/**、common/** 等)被 coll_communicator_mgr、legacy、测试以裸头名直接 #include,边界不清、内部类型外泄、跨模块强耦合,且 base_comm 反向依赖了 L2 的 comm_addr_logger、ccuTaskException,违反「上层依赖下层、下层不反向依赖」的分层约束。 ### 采取的方法 1. **新增边界目录 src/base_comm/inc/**:新增 20 个 *_pub.h(ccu/6、comm/4+comm/debug/1、dfx/3、channel/2、endpoint/1、thread/1+thread/aicpu/2),并将 base_comm 内部 21 个需对外暴露的头整体重命名/迁移到 inc/ 下(原位置改为转发 shim 或直接迁移),头保护宏统一为 HCOMM_ 前缀。inc/ 下最终共 41 个 _pub.h。 2. **消除反向依赖**:将 coll_communicator_mgr/common/loggers/comm_addr_logger.{h,cc} 下沉到 base_comm/common/、ccuTaskException.{h,cc} 下沉到 base_comm/resources/ccu/ccu_dfx/。 3. **编译隔离**:新增 src/coll_communicator_mgr/hcomm_coll_comm.cmake,定义 OBJECT 库 hcomm_coll_comm_obj(显式 include 白名单)并链入 hcomm;顶层 CMakeLists.txt 与 cmake/device/CMakeLists.txt 全局声明 src/base_comm/inc;约 30 个 coll 子目录 CMake 由 hcomm 切到 hcomm_coll_comm_obj,并清理重复/冗余 include(ccl_kernel.cmake、hcomm.cmake、hcomm_base_obj.cmake、nic_plugin 等)。 4. **门面化/回调解耦**:新增 ccuTaskExceptionAdpt.cc(L2 注册 CCU 任务异常回调,使 base_comm 解码不依赖 L2 CollComm/HcclCommunicator/RankGraph)、AicpuThreadLaunchMgr(承接 AicpuLaunchMgr,仅 base_comm 内部使用)、channel_map_registry.h;线程公开 C API HcommThreadCreateAicpu/GetStreamLite/RegisterCacheCallback/Destroy 等;CCU 新增 QueryCcuInstanceEntity/CcuInstanceExists;通道新增 HcommChannelBuildDeviceEntity 等。 5. **include 路径统一**:全仓改为边界相对路径(comm/、ccu/、thread/、dfx/、endpoint/、config/、comm_engine_res/ 等)。 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug修复 - [x] ✨ 新特性 - [ ] 🚀 性能优化 - [ ] 📝 文档更新 - [ ] 📋 其他,请描述: ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR不涉及Issue,可填写"NA"。--> NA ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于构造对应xx测试用例、二级冒烟、算子泛化等。--> 已完成的测试用例和场景: 1. bash build.sh --pkg --full:主机侧 + device 侧全量编译通过,无 error。 2. bash build.sh --ut --st:UT/ST 目标全量编译通过,边界头、门面接口(线程/通道/CCU)、CCU 任务异常回调相关用例回归通过。 3. checker: CCU_SCHED  AICPU  AIV  补充的UT用例: - 同步更新门面化接口与桩:ut_thread_aicpu_mgr、ut_engine_aicpu_interface、ut_hcclCommTaskExceptionLite、ut_coll_comm_res_c_adpt、llt_next_orion_stub 等(新增 HcommThreadCreateAicpu/GetStreamLite/Destroy/RegisterCacheCallback 桩)。 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> - 随头文件迁移同步更新 src/coll_communicator_mgr/dfx/taskException/taskException.md 等模块说明。 ## 合入检查 <!-- 在正式合入前,请做好必要的代码测试,用例补充,软件代码风格检查等。提高合入效率。--> <!-- [x] 表示选中 --> - [x] 🧐 已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 - [x] 🔍 邀请 committer评论/lgtm前的必要检查 - [x] 🏷️ 标题中使用了合适的类型标签(如:[feat], [fix]) - [x] 📄 代码修改内容已简要描述,相关文档已更新 - [x] 📝 代码注释已更新,代码遵循项目整体代码风格 - [x] 🧪 代码UT测试已更新,覆盖率已达标 - [x] 🔬 验证方法已更新到"测试"部分 - [x] 🛠️ 代码已通过静态分析工具检查,无错误 - [ ] 👥 代码检视/code review/同行评议和必要的代码串讲,确保代码质量 - [ ] ✅ 代码检视意见已处理或答复,无未处理的检视意见 - [ ] 🚀 预约 前冒烟 用例前的必要检查 - [ ] ✔️ 代码已有committer的/lgtm 和 模块committer的/lgtm评论 - [ ] 🔧 代码已通过compile,编译无错误,无告警 - [ ] 🖥️ 代码已通过基本功能本地测试或者在线测试,确保基本功能正常 - [ ] 🎯 预约 approver评论/approve,正式合入前的必要检查 - [ ] 📊 前冒烟 用例已全量通过 - [ ] 📦 新增功能已同步补充基本功能测试用例到前冒烟里 See merge request: cann/hcomm!5577 | 6 天前 | |
feat: HrtGetDevicePhyIdByIndex change to HrtGetDevicePhyIdByUserDevId Co-authored-by: zhiweihai_00958272<zhiweihai@huawei.com> # message auto-generated for no-merge-commit merge: !4894 merge feat/devIdPre into master feat: HrtGetDevicePhyIdByIndex change to HrtGetDevicePhyIdByUserDevId Created-by: Helmar Commit-by: zhiweihai_00958272 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 本PR对 ascend950的设备ID管理接口进行初步适配调整,以适配新版 ACL runtime 的设备ID体系。 主要改动: 1. ** orion_adapter_rts.cc**: - HrtGetDevicePhyIdByIndex 重命名为 HrtGetDevicePhyIdByUserDevId,底层调用由 aclrtGetPhyDevIdByLogicDevId 改为 aclrtGetPhyDevIdByUserDevId。 - 新增 HrtGetUserDevIdByPhyDevId 接口,通过物理设备ID反查 userDevId,底层调用 aclrtGetUserDevIdByPhyDevId,返回 HcclResult 不抛异常,NOSOC 模式短路返回。 - HrtGetDevice / HrtSetDevice / HrtResetDevice 参数及日志中 deviceLogicId 统一更名为 userDevId。 2. **orion_adapter_rts.h**: - 删除旧声明 DevId HrtGetDevicePhyIdByIndex(s32 deviceLogicId)。 - 新增声明 DevId HrtGetDevicePhyIdByUserDevId(s32 userDevId) 和 HcclResult HrtGetUserDevIdByPhyDevId(s32 devicePhyId, s32& userDevId)。 3. **全局调用点同步更新**(123个文件): - 所有 ascend950 / next-gen 业务代码及测试中的 HrtGetDevicePhyIdByIndex 调用统一替换为 HrtGetDevicePhyIdByUserDevId。 - ascend910 平台的小写 hrtGetDevicePhyIdByIndex 接口及其调用点不受影响。 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug修复 - [x] ✨ 新特性 - [ ] 🚀 性能优化 - [ ] 📝 文档更新 - [ ] 📋 其他,请描述: ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR不涉及Issue,可填写NA。--> NA ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于构造对应xx测试用例、二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 本次改动涉及 orion_adapter_rts.h 头文件接口签名变更,相关接口文档需同步更新。 ## 合入检查 <!-- 在正式合入前,请做好必要的代码测试,用例补充,软件代码风格检查等。提高合入效率。--> <!-- [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!4894 | 1 个月前 |
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 6 天前 | ||
| 20 天前 | ||
| 6 天前 | ||
| 6 天前 | ||
| 6 天前 | ||
| 6 天前 | ||
| 5 天前 | ||
| 6 天前 | ||
| 1 个月前 |