文档
注册

allgather

功能说明

集合通信算子AllGather的操作接口,将通信域内所有节点的输入按照rank id重新排序,然后拼接起来,再将结果发送到所有节点的输出。

针对AllGather操作,每个节点都接收按照rank id重新排序后的数据集合,即每个节点的AllGather输出都是一样的。

函数原型

def allgather(tensor, rank_size, group = "hccl_world_group", fusion=0, fusion_id=-1)

参数说明

参数名

输入/输出

描述

tensor

输入

TensorFlow的tensor类型。

针对Atlas 训练系列产品,支持的数据类型为:int8、uint8、int16、uint16、int32、uint32、int64、uint64、float16、float32、float64。

针对Atlas 300I Duo 推理卡,支持数据类型为:int8、uint8、int16、uint16、int32、uint32、int64、uint64、float16、float32、float64。

针对Atlas A2 训练系列产品,支持的数据类型为:int8、uint8、int16、uint16、int32、uint32、int64、uint64、float16、float32、float64、bfp16。

rank_size

输入

int类型。

group内device的数量。

最大值为32768。

group

输入

String类型,最大长度为128字节,含结束符。

group名称,可以为用户自定义group或者"hccl_world_group"。

fusion

输入

int类型。

allgather算子融合标识,支持以下取值:

  • 0:标识网络编译时不会对该算子进行融合,即该allgather算子不和其他allgather算子融合。
  • 2:网络编译时,会对allgather算子按照相同的fusion_id进行融合,即“fusion_id”相同的allgather算子之间会进行融合。

默认值为“0”。

fusion_id

输入

allgather算子的融合id。

对相同fusion_id的allgather算子进行融合。

返回值

tensor:对输入tensor执行完allgather操作之后的结果tensor。

约束说明

调用该接口的rank必须在当前接口入参group定义的范围内,不在此范围内的rank调用该接口会失败。

支持的型号

Atlas 训练系列产品

Atlas 300I Duo 推理卡

Atlas A2 训练系列产品

调用示例

1
2
3
from npu_bridge.npu_init import *
rank_size = 2
result = hccl_ops.allgather(tensor, rank_size)
搜索结果
找到“0”个结果

当前产品无相关内容

未找到相关内容,请尝试其他搜索词