news 2026/5/9 23:26:45

CANN/hccl Scatter算子接口文档

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
CANN/hccl Scatter算子接口文档

HcclScatter

【免费下载链接】hccl集合通信库(Huawei Collective Communication Library,简称HCCL)是基于昇腾AI处理器的高性能集合通信库,为计算集群提供高性能、高可靠的通信方案项目地址: https://gitcode.com/cann/hccl

产品支持情况

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

[!NOTE]说明 针对Atlas A2 训练系列产品/Atlas A2 推理系列产品,仅支持Atlas 800T A2 训练服务器、Atlas 900 A2 PoD 集群基础单元、Atlas 200T A2 Box16 异构子框。

功能说明

集合通信算子Scatter操作接口,将root节点的数据均分并散布至其他rank。

函数原型

HcclResult HcclScatter(void *sendBuf, void *recvBuf, uint64_t recvCount, HcclDataType dataType, uint32_t root, HcclComm comm, aclrtStream stream)

参数说明

参数名输入/输出描述
sendBuf输入源数据buffer地址。
recvBuf输出目的数据buffer地址,集合通信结果输出至此buffer中。
recvCount输入参与scatter操作的recvBuf的数据个数,比如只有一个int32数据参与,则count=1。
dataType输入Scatter操作的数据类型,HcclDataType类型。
针对Ascend 950PR/Ascend 950DT,支持数据类型:int8、uint8、int16、uint16、int32、uint32、int64、uint64、float8-e5m2、float8-e4m3、float8-e8m0、hifloat8、float16、float32、float64、bfp16。
针对Atlas A3 训练系列产品/Atlas A3 推理系列产品,支持数据类型:int8、uint8、int16、uint16、int32、uint32、int64、uint64、float16、float32、float64、bfp16。
针对Atlas A2 训练系列产品/Atlas A2 推理系列产品,支持数据类型:int8、uint8、int16、uint16、int32、uint32、int64、uint64、float16、float32、float64、bfp16。
针对Atlas 训练系列产品,支持数据类型:int8、uint8、int16、uint16、int32、uint32、int64、uint64、float16、float32、float64。
root输入作为scatter root的rank id。
comm输入集合通信操作所在的通信域。
stream输入本rank所使用的stream。

返回值

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

约束说明

  • 所有rank的recvCount、dataType、root均应相同。
  • 全局只能有1个root节点。
  • 非root节点的sendBuf可以为空。root节点的sendBuf不能为空。

调用示例

void *sendBuf = nullptr; void *recvBuf = nullptr; uint64_t sendCount = 8; uint64_t recvCount = 1; size_t sendSize = sendCount * sizeof(float); size_t recvSize = recvCount * sizeof(float); // 申请 Device 内存用于接收 Scatter 结果 ACLCHECK(aclrtMalloc(&recvBuf, recvSize, ACL_MEM_MALLOC_HUGE_ONLY)); // 在 root 节点,申请 Device 内存用于存放发送数据 if (device == rootRank) { ACLCHECK(aclrtMalloc(&sendBuf, sendSize, ACL_MEM_MALLOC_HUGE_ONLY)); } // 初始化通信域 uint32_t rankSize = 8; HcclComm hcclComm; HcclCommInitRootInfo(rankSize, &rootInfo, device, &hcclComm); // 创建任务流 aclrtStream stream; aclrtCreateStream(&stream); // 执行 Scatter,将通信域内 root 节点的数据均分并散布至其他 rank HcclScatter(sendBuf, recvBuf, recvCount, HCCL_DATA_TYPE_FP32, rootRank, hcclComm, stream); // 阻塞等待任务流中的集合通信任务执行完成 aclrtSynchronizeStream(stream); // 释放资源 aclrtFree(sendBuf); // 释放 Device 侧内存 aclrtFree(recvBuf); // 释放 Device 侧内存 aclrtDestroyStream(stream); // 销毁任务流 HcclCommDestroy(hcclComm); // 销毁通信域

【免费下载链接】hccl集合通信库(Huawei Collective Communication Library,简称HCCL)是基于昇腾AI处理器的高性能集合通信库,为计算集群提供高性能、高可靠的通信方案项目地址: https://gitcode.com/cann/hccl

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

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/9 23:26:42

AI写专著必备:实测4款工具,快速产出20万字专著,查重不用愁!

创新与AI专著写作工具的崛起 创新是学术专著的核心,也是写作的一个重要难关。一部优秀的专著,不能仅仅是把已有的研究成果简单组合在一起,而是需要提出贯穿全书的新颖见解、理论架构或研究方法。在浩如烟海的学术文献中,发现那些…

作者头像 李华
网站建设 2026/5/9 23:23:32

抖音矩阵云混剪系统 源码短视频矩阵营销系统V2.3.0(免授权版)

内容目录一、详细介绍二、效果展示1.部分代码2.效果图展示三、学习资料下载一、详细介绍 抖音矩阵云混剪系统 源码短视频矩阵营销系统V2.3.0(免授权版)多平台多账号一站式管理,一键发布作品。智能标题,关键词优化,排名…

作者头像 李华
网站建设 2026/5/9 23:22:58

CANN/community持续集成指南

代码仓门禁与版本集成流程指导 【免费下载链接】community 本项目是CANN开源社区的核心管理仓库,包含社区的治理章程、治理组织、通用操作指引及流程规范等基础信息 项目地址: https://gitcode.com/cann/community 一、使用场景 CANN社区通过持续集成&#…

作者头像 李华
网站建设 2026/5/9 23:22:43

CANN/ge CountBatch批处理功能

CountBatch 【免费下载链接】ge GE(Graph Engine)是面向昇腾的图编译器和执行器,提供了计算图优化、多流并行、内存复用和模型下沉等技术手段,加速模型执行效率,减少模型内存占用。 GE 提供对 PyTorch、TensorFlow 前端…

作者头像 李华
网站建设 2026/5/9 23:20:59

基于XAI与盲掩码自监督学习的地震数据去噪技术解析

1. 项目概述:从“看”到“理解”的地震数据净化地震勘探,说白了就是给地球做“CT扫描”。我们通过人工激发地震波,然后在地表接收反射回来的信号,这些信号经过复杂的处理,最终能描绘出地下几千米甚至更深的地层结构。然…

作者头像 李华
网站建设 2026/5/9 23:16:45

CANN/pyasc绝对值函数API文档

asc.language.basic.abs 【免费下载链接】pyasc 本项目为Python用户提供算子编程接口,支持在昇腾AI处理器上加速计算,接口与Ascend C一一对应并遵守Python原生语法。 项目地址: https://gitcode.com/cann/pyasc asc.language.basic.abs(dst: Loca…

作者头像 李华