合并受阻
变更摘要
该 PR(标题"适配drian")主要将 DPU 侧主机通道的同步语义从"Fence"切换为"Drain":在多个 DPU/Host NIC 算子模板中,将 HcommChannelFenceOnThread 调用替换为 HcommChannelDrainOnThread,并对 HCCL_E_NOT_SUPPORT 返回值做显式错误日志与返回处理,同时为测试桩补充了 HcommChannelDrainOnThread 的实现。该改动主要影响 BatchSendRecv、Send/Recv 及 NHR 批量传输等算子的主机通道同步流程。
主要改动
- BatchSendRecv FENCE 分支改用 Drain: 在
InsTempBatchSendRecvDpu::DPUKernelRun的FENCE分支中,将HcommChannelFenceOnThread替换为HcommChannelDrainOnThread,当返回HCCL_E_NOT_SUPPORT时打印错误日志(提示更新 HCOMM)并返回该错误码,否则继续执行HcommFenceOnThread。 - 数据搬运封装改用 Drain: 在
dpu_alg_data_trans_wrapper.cc的SendRecvWrite、SendWrite、RecvWrite三个接口中,均以HcommChannelDrainOnThread取代原HcommChannelFenceOnThread,并采用一致的HCCL_E_NOT_SUPPORT错误处理与日志输出。 - NHR 批量传输去重通道 Drain: 在
DpuBatchTransfer中,将发送通道与接收通道(samePeer时仅一次的去重逻辑保留)的 Fence 调用替换为 Drain,注释同步由 "Fence" 更新为 "Drain"。 - Host NIC 收发算子改用 Drain:
InsTempRecvHostNicDpu::DPUKernelRun与InsTempSendHostNicDpu::DPUKernelRun中,原先对channels.at(rankIdx)[0]的HcommChannelFenceOnThread均替换为HcommChannelDrainOnThread,并增加HCCL_E_NOT_SUPPORT的错误日志与返回处理。 - 补充测试桩实现: 在
hccl_stub.cc中新增HcommChannelDrainOnThread桩函数,忽略入参并打印 "not support" 警告后返回 0,以支撑测试链路对 Drain 接口的调用。


Thanks for your pull-request.
The full list of commands accepted by me can be found at here.
You can get sig-info at here.
You can self-configure the PR merge rules for this repository. For more details, please refer to Here.
For more, you also can visit HICANN.
PR Approval Progress
⚠️ This PR does not yet meet the following requirements:lgtm (requires ≥ 2 person(s) per module)、approve (requires ≥ 1 person(s) per module)
Module Approval Details
| module | lgtm status | approve status |
|---|---|---|
| src | ❌ (0/2)(You can also ask: 杨邵华, 欧阳茜, 文学敏, 颜业峰, 张兴平) | ❌ (0/1)(You can also ask: 李标智, 颜业峰, 文学敏) |
| test/st/algorithm | ❌ (0/2)(You can also ask: 陈轲, 施秉辰, 欧阳茜, 李琳, 程祥乐) | ❌ (0/1)(You can also ask: 詹海峰, 崔正, 吴昊堃, 余浩) |
💡 Tip:
- Committer can comment
/approveor/lgtm- Commenting
/approveimplies both code review (lgtm) and intent to merge (approve)
CLA Signature Pass
YantingLiu, thanks for your pull request. All authors of the commits have signed the CLA. 👍


描述
适配A5 Host CPU Channel的数据面Drain能力。
本PR仅修改HCCL仓:将Host-NIC DPU的Send、Recv、BatchSendRecv及公共数据传输模板中,用于等待Channel任务完成的
HcommChannelFenceOnThread替换为HcommChannelDrainOnThread。主要改动:
DpuBatchTransfer分别对TX/RX Channel执行Drain;TX/RX Handle相同时只执行一次。HcommFenceOnThread(0)调用,PCIe Flush流程保持不变。HcommChannelDrainOnThreadWithCompat统一处理Drain返回值。HCCL_E_PTR时,提示当前HCOMM可能尚未支持Host Channel Drain,并透传原错误码,不触发core。HcommChannelDrainOnThread弱声明及弱桩,使使用未声明该接口的旧HCOMM头文件进行编包时能够通过编译。运行时使用Host Channel Drain仍要求配套HCOMM提供对应接口和实现。涉及调用点:
InsTempBatchSendRecvDpuInsTempSendHostNicDpuInsTempRecvHostNicDpuSendRecvWriteSendWriteRecvWriteDpuBatchTransferTX/RX Channel关联的Issue
NA
测试
文档更新
类型标签