CANN/GE广播推理宏
2026/9/10 11:51:40 网站建设 项目流程

BROADCAST_INFER

【免费下载链接】geGE(Graph Engine)是面向昇腾的图编译器和执行器,提供了计算图优化、多流并行、内存复用和模型下沉等技术手段,加速模型执行效率,减少模型内存占用。 GE 提供对 PyTorch、TensorFlow 前端的友好接入能力,并同时支持 onnx、pb 等主流模型格式的解析与编译。项目地址: https://gitcode.com/cann/ge

产品支持情况

产品

是否支持

Atlas A3 训练系列产品 / Atlas A3 推理系列产品

Atlas A2 训练系列产品 / Atlas A2 推理系列产品

头文件

#include <graph/operator_reg.h>

功能说明

提供公共函数宏封装,供算子开发者开发InferShape函数。该函数基于2个输入的shape,设置输出的shape。该宏只是设置shape,未设置dtype。

  • 如果2个输入的shape一致,会按输入的shape设置输出shape。

  • 如果2个输入的shape不一致,会按照Broadcast的策略,取2个输入shape的并集。

    比如输入shape分别为(1,2,3,4)和(3,1,3,4),则该宏会设置算子的输出shape为(3,2,3,4)。

函数原型

BROADCAST_INFER(in1_name, in2_name, out_name)

该函数会自动调用如下函数:

graphStatus BroadCastInfer(const function<vector<int64_t>()> &get_in1_shape, const function<vector<int64_t>()> &get_in2_shape, const function<void(const std::vector<int64_t> &y_shape)> &set_out_shape);

参数说明

参数名

输入/输出

描述

in1_name

输入

算子第一个输入。

in2_name

输入

算子第二个输入。

out_name

输入

算子输出。

返回值说明

执行成功或失败。

约束说明

调用示例

IMPLEMT_INFERFUNC(RightShift, RightShiftInfer) { DataType type = op.GetInputDesc("x").GetDataType(); SET_OUTPUT_TYPE(op, "z", type); return BROADCAST_INFER("x", "y", "z")(op); }

【免费下载链接】geGE(Graph Engine)是面向昇腾的图编译器和执行器,提供了计算图优化、多流并行、内存复用和模型下沉等技术手段,加速模型执行效率,减少模型内存占用。 GE 提供对 PyTorch、TensorFlow 前端的友好接入能力,并同时支持 onnx、pb 等主流模型格式的解析与编译。项目地址: https://gitcode.com/cann/ge

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询