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算子。 |