broadcast
函数原型
def broadcast(tensor, root_rank, fusion=2,fusion_id=0,group = "hccl_world_group")
功能说明
提供group内的集合通信broadcast功能,将root节点的数据广播到其他rank。
参数说明
参数名 |
输入/输出 |
描述 |
---|---|---|
tensor |
输入 |
TensorFlow的tensor类型,为list。 针对Atlas 训练系列产品,支持的数据类型为int8, uint8,uint16, int32, uint32, int64, uint64, float16, float32, float64。 针对Atlas A2 训练系列产品,支持的数据类型为int8, uint8, int16, uint16, int32, uint32, int64, uint64, float16, float32, float64, bfp16。 |
root_rank |
输入 |
int类型。 作为root节点的rank_id,该id是group内的rank id。 |
group |
输入 |
String类型,最大长度为128字节,含结束符。 group名称,可以为用户自定义group或者"hccl_world_group"。 |
fusion |
输入 |
int类型。 broadcast算子融合标识。
|
fusion_id |
输入 |
broadcast算子的融合id。 对相同fusion_id的broadcast算子进行融合。 |
返回值
tensor:对输入tensor执行完broadcast操作之后的结果tensor。
调用示例
1 2 3 4 |
from npu_bridge.npu_init import * root = 0 inputs = [tensor] result = hccl_ops.broadcast(inputs, root) |
约束说明
调用该接口的rank必须在当前接口入参group定义的范围内,不在此范围内的rank调用该接口会失败。