文档首页 > > 模型开发> 网络模型移植训练指南> 接口参考> 集合通信接口参考> 集合通信算子>

allreduce

allreduce

分享
更新时间:2020/11/28 GMT+08:00

函数原型

def allreduce(tensor, reduction, fusion=1, group = "hccl_world_group")

功能说明

提供group内的集合通信allreduce功能,对所有节点的同名张量进行reduce操作。

参数说明

参数名

输入/输出

描述

tensor

输入

tensorflow的tensor类型。

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

reduction

输入

String类型。

reduce的op类型,可以为”max”,”min”,”prod”和”sum”。

fusion

输入

int类型。

算子融合标识。

  • 0:不融合,该allreduce算子不和其他allreduce算子融合。
  • 非0:融合,默认为1。

group

输入

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

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

返回值

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

调用示例

from npu_bridge.hccl import hccl_ops
result = hccl_ops.allreduce(tensor, "sum")

约束说明

  • 调用该接口的rank必须在当前接口入参group定义的范围内,不在此范围内的rank调用该接口会失败。
  • allreduce上游节点暂不支持variable算子。
分享:

    相关文档

    相关产品

文档是否有解决您的问题?

提交成功!非常感谢您的反馈,我们会继续努力做到更好!
反馈提交失败,请稍后再试!

*必选

请至少选择或填写一项反馈信息

字符长度不能超过200

提交反馈 取消

如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨

智能客服提问云社区提问