AddMatMatElements
产品支持情况
| 产品 | 是否支持 |
|---|---|
| Ascend 950PR/Ascend 950DT | √ |
| Atlas A3 训练系列产品/Atlas A3 推理系列产品 | √ |
| Atlas A2 训练系列产品/Atlas A2 推理系列产品 | √ |
| Atlas 200I/500 A2 推理产品 | × |
| Atlas 推理系列产品 | √ |
| Atlas 训练系列产品 | √ |
功能说明
-
算子功能:对输入张量
a、b进行逐元素相乘后,与输入张量c按标量alpha、beta进行加权求和,结果写入输出张量cOut。 -
计算公式:
cOuti=ci×β+α×ai×bicOut_i = c_i \times \beta + \alpha \times a_i \times b_i
其中
a、b、c支持PyTorch addcmul / numpy风格的广播,cOut的shape等于broadcast(a, b, c)的统一shape,alpha、beta为float标量。
参数说明
| 参数名 | 输入/输出/属性 | 描述 | 数据类型 | 数据格式 |
|---|---|---|---|---|
| c | 输入 | 公式中的输入张量c,按beta缩放后参与累加。 | FLOAT16、FLOAT、BFLOAT16 | ND |
| a | 输入 | 公式中的输入张量a,参与逐元素相乘。 | 同c(shape支持与b/c广播) | ND |
| b | 输入 | 公式中的输入张量b,与a进行逐元素相乘。 | 同c(shape支持与a/c广播) | ND |
| beta | 输入(1-element标量tensor) | 标量缩放系数,对c进行缩放。 | 同c | ND |
| alpha | 输入(1-element标量tensor) | 标量缩放系数,对a × b的乘积进行缩放。 | 同c | ND |
| cOut | 输出 | 公式中的输出张量cOut,shape必须等于broadcast(a, b, c)。 | 同c | ND |
约束说明
a、b、c、cOut四个张量必须具有完全一致的dtype。a、b、c支持PyTorch addcmul / numpy风格的广播(尾部对齐、size=1维度扩展)。cOut的shape必须等于broadcast(a, b, c)的统一shape,否则参数非法。- 张量最大维度为8。
- 仅支持ND格式,不支持私有格式。
alpha、beta不可为空指针。
调用说明
| 调用方式 | 样例代码 | 说明 |
|---|---|---|
| 图模式 | test_geir_add_mat_mat_elements.cpp | 通过图模式方式调用AddMatMatElements算子。 |