华为CANN通信远端内存API

📅 2026/7/3 3:07:07 👁️ 阅读次数 📝 编程学习
华为CANN通信远端内存API

HcclChannelGetRemoteMems

【免费下载链接】hcommHCOMM(Huawei Communication)是HCCL的通信基础库,提供通信域以及通信资源的管理能力。项目地址: https://gitcode.com/cann/hcomm

产品支持情况

  • Ascend 950PR/Ascend 950DT:支持
  • Atlas A3 训练系列产品/Atlas A3 推理系列产品:不支持
  • Atlas A2 训练系列产品/Atlas A2 推理系列产品:不支持

功能说明

获取通信通道中交换的远端内存信息。

函数原型

HcclResult HcclChannelGetRemoteMems(HcclComm comm, ChannelHandle channel, uint32_t *memNum, CommMem **remoteMems, char ***memTags);

参数说明

参数名输入/输出说明
comm输入通信域句柄。
HcclComm类型的定义如下:
typedef void *HcclComm;
channel输入通信通道句柄。
ChannelHandle类型的定义请参见ChannelHandle。
memNum输出内存数量。
remoteMems输出远端内存列表。
CommMem类型的定义请参见CommMem。
memTags输出远端内存字符串列表。

返回值

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

约束说明

仅Ascend 950PR/Ascend 950DT的AIV引擎支持。

调用示例

uint32_t channelNum = 1; std::vector<HcclChannelDesc> channelDesc(channelNum); HcclChannelDescInit(channelDesc.data(), channelNum); // 省略 channelDesc 配置 HcclComm comm; CommEngine engine = CommEngine::COMM_ENGINE_AIV; std::vector<ChannelHandle> channels(channelNum); HcclChannelAcquire(comm, engine, channelDesc.data(), channelNum, channels.data()); uint32_t memNum = 0; CommMem* remoteMems = nullptr; char** memTags = nullptr; HcclChannelGetRemoteMems(comm, channels[0], &memNum, &remoteMems, &memTags);

【免费下载链接】hcommHCOMM(Huawei Communication)是HCCL的通信基础库,提供通信域以及通信资源的管理能力。项目地址: https://gitcode.com/cann/hcomm

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考