HcclChannelGetHcclBuffer
产品支持情况
产品 |
是否支持 |
|---|---|
√ |
|
√ |
|
☓ |
|
☓ |
|
☓ |
针对
功能说明
获取指定channel对端的HCCL通信内存。
函数原型
1 | HcclResult HcclChannelGetHcclBuffer(HcclComm comm, ChannelHandle channel, void **buffer, uint64_t *size) |
参数说明
参数名 |
输入/输出 |
描述 |
||
|---|---|---|---|---|
comm |
输入 |
通信域句柄。 HcclComm类型的定义如下:
|
||
channel |
输入 |
通信通道句柄。 ChannelHandle类型的定义可参见ChannelHandle。 |
||
buffer |
输出 |
HCCL通信内存地址。 |
||
size |
输出 |
HCCL通信内存大小。 |
返回值
HcclResult:接口成功返回HCCL_SUCCESS,其他失败。
约束说明
无
调用示例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | uint32_t channelNum = 1; std::vector<HcclChannelDesc> channelDesc(channelNum); HcclChannelDescInit(channelDesc.data(), channelNum); channelDesc[0].remoteRank = 1; channelDesc[0].channelProtocol = CommProtocol::COMM_PROTOCOL_HCCS; channelDesc[0].notifyNum = 3; HcclComm comm; CommEngine engine = CommEngine::COMM_ENGINE_CPU_TS; std::vector<ChannelHandle> channels(channelNum); HcclChannelAcquire(comm, engine, channelDesc.data(), channelNum, channels.data()); void *remoteBufferAddr; uint64_t remoteBufferSize; HcclChannelGetHcclBuffer(comm, channels[0], &remoteBufferAddr, &remoteBufferSize); |
父主题: 资源管理