broadcast【免费下载链接】tensorflowAscend TensorFlow Adapter项目地址: https://gitcode.com/cann/tensorflow功能说明集合通信算子Broadcast的操作接口将通信域内root节点的数据广播到其他rank。函数原型def broadcast(tensor, root_rank, fusion2,fusion_id0, grouphccl_world_group)参数说明参数名输入/输出描述tensor输入TensorFlow的tensor类型list类型。针对Ascend 950PR/Ascend 950DT支持数据类型int8、uint8、int16、uint16、int32、uint32、int64、uint64、float16、float32、float64、bfp16。针对Atlas A3 训练系列产品/Atlas A3 推理系列产品支持数据类型int8、uint8、int16、uint16、int32、uint32、int64、uint64、float16、float32、float64、bfp16。针对Atlas A2 训练系列产品/Atlas A2 推理系列产品支持数据类型int8、uint8、int16、uint16、int32、uint32、int64、uint64、float16、float32、float64、bfp16。针对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。root_rank输入作为root节点的rank_id该id是group内的rank idint类型。group输入String类型最大长度为128字节含结束符。group名称可以为用户自定义group或者hccl_world_group。fusion输入broadcast算子融合标识int类型支持以下取值- 0标识网络编译时不会对该算子进行融合即该broadcast算子不和其他broadcast算子融合。- 2网络编译时会对broadcast算子按照相同的fusion_id进行融合即“fusion_id”相同的broadcast算子之间会进行融合。fusion_id输入broadcast算子的融合idint类型。当“fusion”取值为“2”时网络编译时会对相同fusion_id的broadcast算子进行融合。返回值对输入tensor执行完broadcast操作之后的结果tensor。约束说明调用该接口的rank必须在当前接口入参group定义的范围内不在此范围内的rank调用该接口会失败。如果两个Broadcast算子有输入输出的依赖关系则不能对其进行融合否则可能会出现图成环问题。如下图所示broadcast2与broadcast1之间存在输入输出依赖关系所以不能对broadcast1与broadcast2算子进行融合即调用此“broadcast”接口时“fusion”参数需要设置为“0”。调用示例from npu_bridge.hccl import hccl_ops tensor tf.random_uniform((1, 3), minval1, maxval10, dtypetf.float32) inputs [tensor] root 0 result hccl_ops.broadcast(inputs, root)【免费下载链接】tensorflowAscend TensorFlow Adapter项目地址: https://gitcode.com/cann/tensorflow创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
CANN TensorFlow HCCL广播操作
broadcast【免费下载链接】tensorflowAscend TensorFlow Adapter项目地址: https://gitcode.com/cann/tensorflow功能说明集合通信算子Broadcast的操作接口将通信域内root节点的数据广播到其他rank。函数原型def broadcast(tensor, root_rank, fusion2,fusion_id0, grouphccl_world_group)参数说明参数名输入/输出描述tensor输入TensorFlow的tensor类型list类型。针对Ascend 950PR/Ascend 950DT支持数据类型int8、uint8、int16、uint16、int32、uint32、int64、uint64、float16、float32、float64、bfp16。针对Atlas A3 训练系列产品/Atlas A3 推理系列产品支持数据类型int8、uint8、int16、uint16、int32、uint32、int64、uint64、float16、float32、float64、bfp16。针对Atlas A2 训练系列产品/Atlas A2 推理系列产品支持数据类型int8、uint8、int16、uint16、int32、uint32、int64、uint64、float16、float32、float64、bfp16。针对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。root_rank输入作为root节点的rank_id该id是group内的rank idint类型。group输入String类型最大长度为128字节含结束符。group名称可以为用户自定义group或者hccl_world_group。fusion输入broadcast算子融合标识int类型支持以下取值- 0标识网络编译时不会对该算子进行融合即该broadcast算子不和其他broadcast算子融合。- 2网络编译时会对broadcast算子按照相同的fusion_id进行融合即“fusion_id”相同的broadcast算子之间会进行融合。fusion_id输入broadcast算子的融合idint类型。当“fusion”取值为“2”时网络编译时会对相同fusion_id的broadcast算子进行融合。返回值对输入tensor执行完broadcast操作之后的结果tensor。约束说明调用该接口的rank必须在当前接口入参group定义的范围内不在此范围内的rank调用该接口会失败。如果两个Broadcast算子有输入输出的依赖关系则不能对其进行融合否则可能会出现图成环问题。如下图所示broadcast2与broadcast1之间存在输入输出依赖关系所以不能对broadcast1与broadcast2算子进行融合即调用此“broadcast”接口时“fusion”参数需要设置为“0”。调用示例from npu_bridge.hccl import hccl_ops tensor tf.random_uniform((1, 3), minval1, maxval10, dtypetf.float32) inputs [tensor] root 0 result hccl_ops.broadcast(inputs, root)【免费下载链接】tensorflowAscend TensorFlow Adapter项目地址: https://gitcode.com/cann/tensorflow创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考