BatchMatMulV3

产品支持情况

产品 是否支持
Ascend 950PR/Ascend 950DT
Atlas A3 训练系列产品/Atlas A3 推理系列产品
Atlas A2 训练系列产品/Atlas A2 推理系列产品
Atlas 200I/500 A2推理产品 ×
Atlas 推理系列产品
Atlas 训练系列产品
Kirin X90 处理器系列产品
Kirin 9030 处理器系列产品

功能说明

  • 算子功能:完成带batch的矩阵乘计算。

  • 计算公式:

    out=self@mat2+biasout = self@mat2 + bias

    其中,selfselfmat2mat2 输入维度支持2~6维,最后两维做矩阵乘计算。例如,selfselfmat2mat2 输入维度分别为(B,M,K)(B, M, K)(B,K,N)(B, K, N) 时,outout 维度为 (B,M,N)(B, M, N)biasbias 是维度为(B,1,N)(B, 1, N)的向量。其中,B为矩阵乘法的batch数,M为第一个张量selfself的行数和输出张量outout的行数,N为第二个张量mat2mat2的列数和输出张量outout的列数,K为第一个张量selfself的列数和第二个张量mat2mat2的行数。

参数说明

参数名 输入/输出/属性 描述 数据类型 数据格式
self 输入 矩阵乘运算中的左矩阵。 FLOAT16、BFLOAT16、FLOAT32 ND、FRACTAL_NZ
mat2 输入 矩阵乘运算中的右矩阵。 FLOAT16、BFLOAT16、FLOAT32 ND、FRACTAL_NZ
bias 输入 矩阵乘运算后累加的偏置,对应公式中的bias。 FLOAT16、BFLOAT16、FLOAT32 ND
out 输出 通用矩阵乘运算的计算结果。 FLOAT16、BFLOAT16、FLOAT32 ND、FRACTAL_NZ
  • Atlas A2 训练系列产品/Atlas A2 推理系列产品、Atlas A3 训练系列产品/Atlas A3 推理系列产品:bias不支持BFLOAT16数据格式。
  • Atlas 推理系列产品:只支持FLOAT16数据格式,输入mat2只支持FRACTAL_NZ格式。
  • Kirin X90/Kirin 9030处理器系列产品:不支持BFLOAT16、FLOAT32。

约束说明

  • 支持空tensor,空tensor场景下不支持bias。
  • 支持连续tensor,非连续tensor只支持转置场景。

调用说明

调用方式 样例代码 说明
aclnn接口 test_aclnn_batchmatmul 通过
aclnnAddbmm&aclnnInplaceAddbmm
aclnnBaddbmm&aclnnInplaceBaddbmm
aclnnBatchMatMul
aclnnBatchMatMulWeightNz
等方式调用BatchMatMulV3算子。