CANN/hcomm对称内存API文档
HcclSymWinGetPeerPointer【免费下载链接】hcommHCOMMHuawei Communication是HCCL的通信基础库提供通信域以及通信资源的管理能力。项目地址: https://gitcode.com/cann/hcomm产品支持情况Ascend 950PR/Ascend 950DT不支持Atlas A3 训练系列产品/Atlas A3 推理系列产品支持Atlas A2 训练系列产品/Atlas A2 推理系列产品不支持Atlas 推理系列产品不支持Atlas 训练系列产品不支持功能说明根据对称内存窗口资源句柄和偏移获取指定rank ID在对称内存上的虚拟地址指针。函数原型HcclResult HcclSymWinGetPeerPointer(HcclCommSymWindow winHandle, size_t offset, uint32_t peerRank, void** ptr)参数说明参数名输入/输出说明winHandle输入对称内存窗口资源句柄。offset输入使用HcclCommSymWinGet获取到的偏移量。peerRank输入rank ID取值范围[0, rankSize)。ptr输出指向“对称内存上的虚拟地址”的指针。返回值HcclResult接口成功返回HCCL_SUCCESS其他失败。约束说明仅支持Atlas A3 训练系列产品/Atlas A3 推理系列产品的超节点内通信。仅支持通信算子展开模式为AI CPU的场景。该接口仅支持在Device侧调用。调用示例HOST侧注册完对称内存window以后将window作为AI CPU kernel的参数传递到AI CPU kernel该函数需要编译到Device AI CPU侧执行以下是伪代码描述AicpuKernelFunc(param) // 从param中获取对称window HcclCommSymWindow temp_win param.win; void *src_ptr; void *dest_ptr; int srcRankId 0; int destRankId 1; // 使用win offset peerRank获取到peerRank对应的地址 HcclSymWinGetPeerPointer(temp_win, 0, srcRankId, src_ptr); HcclSymWinGetPeerPointer(temp_win, 0, rankId, dest_ptr); // 获取出来的地址可以使用数据面local copy直接读写thread和size需调用者准备好 HcommLocalCopyOnThread(thread, dest_ptr, src_ptr, size);【免费下载链接】hcommHCOMMHuawei Communication是HCCL的通信基础库提供通信域以及通信资源的管理能力。项目地址: https://gitcode.com/cann/hcomm创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考