文档
注册

npu.distribute.all_reduce

函数原型

npu.distribute.all_reduce(values, reduction="mean", fusion=1, fusion_id=-1, group="hccl_world_group")

功能说明

用于NPU分布式部署场景下,worker间的聚合运算。

参数说明

参数名

输入/输出

描述

values

输入

TensorFlow的tensor类型。

tensor支持的数据类型为int8, int32, float16, float32。

tensor支持的数据类型为int8, int16(仅sum支持), int32, float16, float32。

reduction

输入

String类型。

聚合运算的类型,可以为"mean","max","min","prod"或"sum"。默认为"mean"。

fusion

输入

int类型。

allreduce算子融合标识。

  • 0:不融合,该allreduce算子不和其他allreduce算子融合。
  • 1:按照梯度切分策略进行融合,默认为1。
  • 2:按照相同fusion_id进行融合。

fusion_id

输入

int类型。

allreduce算子的融合id。

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

group

输入

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

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

返回值

对values进行聚合运算后的结果,类型与values一致,值与values输入一一对应。

调用示例

在多卡上聚合某个值:

# rank_id = 0  rank_size = 8
import npu_device as npu
v = tf.constant(1.0)
x = npu.distribute.all_reduce([v], 'sum') # 8.0
y = npu.distribute.all_reduce([v], 'mean') # 1.0
搜索结果
找到“0”个结果

当前产品无相关内容

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