昇腾社区首页
中文
注册

AllReduceOperation

功能

把不同的卡的数据相加或者平均。

该算子涉及多卡相关操作,可根据实际需求配置HCCL相关环境变量,具体请参见环境变量参考执行相关 > 集合通信与分布式训练 > 集合通信相关配置章节。配置TLS等相关操作可查看对应设备的《HCCN Tool 接口参考》

约束

rank、rankSize、rankRoot需满足以下条件。

  • 0 ≤ rank < rankSize
  • 0 ≤ rankRoot < rankSize

定义

struct AllReduceParam {
    int rank = 0;
    int rankSize = 0;
    int rankRoot = 0;
    std::string allReduceType = "sum";
    std::string backend = "hccl";
    HcclComm hcclComm = nullptr;
};

成员

成员名称

描述

rank

每个进程的编号。

rankSize

总的进程数,不能为0。

rankRoot

主进程编号。

allReduceType

支持“sum”,“prod”,“max”和“min”。

backend

通信后端指示,仅支持“hccl”和“lccl”。

hcclComm

hccl通信域接口获取的地址指针。

输入

参数

维度

数据类型

格式

x

[-1,…,-1]

-1表示当前维度的大小没有约束。

float16/float/int8/int32/int64

ND

输出

参数

维度

数据类型

格式

output

[-1,…,-1]

-1表示当前维度的大小没有约束。

float16/float/int8/int32/int64

ND