HcclBatchSendRecv

函数原型

HcclResult HcclBatchSendRecv(HcclSendRecvItem* sendRecvInfo, uint32_t itemNum, HcclComm comm, aclrtStream stream);

功能说明

集合通信域异步批量点对点通信操作接口。调用一次接口可以完成本rank上的多个收发任务,本rank发送和接收之间是异步的,发送和接收任务之间不会相互阻塞。

参数说明

参数名

输入/输出

描述

sendRecvInfo

输入

本rank需要下发的收发任务列表的首地址。

HcclSendRecvItem类型,详细可参见HcclSendRecvItem

itemNum

输入

本rank需要接收和发送的任务个数。

comm

输入

集合通信操作所在的通信域。

stream

输入

本rank所使用的stream。

返回值

HcclResult:接口成功返回HCCL_SUCCESS。其他失败。

约束说明

  1. “异步”是指同一张卡上的接收和发送任务是异步的,不会相互阻塞。但是在卡间,收发任务依旧是同步的,因此,卡间的收发任务也同HcclSend、HcclRecv一样,必须是一一对应的。
  2. 任务列表中不能有重复的send/recv任务,重复指向(从)同一rank发送(接收)的两个任务。
  3. 当前版本此接口不支持Virtual Pipeline(VPP)开启的场景。