文件最后提交记录最后更新时间
2 个月前
5 个月前
6 个月前
1 个月前
2 个月前
2 个月前
6 个月前
4 个月前
README

FusedQuantMatmul

产品支持情况

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

功能说明

  • 算子功能:完成量化矩阵乘和Gelu的融合计算。

  • 计算公式:

    • x1Scale, bias INT32(此场景无offset):

      qbmmout=(x1@x2+bias)∗x2Scale∗x1Scaleqbmmout = (x1@x2 + bias) * x2Scale * x1Scale

    • x1Scale, bias BFLOAT16/FLOAT16/FLOAT32(此场景无offset):

      qbmmout=x1@x2∗x2scale∗x1Scale+biasqbmmout = x1@x2 * x2scale * x1Scale + bias

    • x1Scale无bias:

      qbmmout=x1@x2∗x2Scale∗x1Scaleqbmmout = x1@x2 * x2Scale * x1Scale

    • OP类型由fusedOpType输入定义,支持如下:

      • gelu_tanh运算:

        out=gelu_tanh(qbmmout)out = gelu\_tanh(qbmmout)

      • gelu_erf运算:

        out=gelu_erf(qbmmout)out = gelu\_erf(qbmmout)

参数说明

参数名 输入/输出/属性 描述 数据类型 数据格式
x1 输入 矩阵乘运算中的左矩阵。 INT8, INT4 ND, FRACTAL_NZ
x2 输入 矩阵乘运算中的右矩阵。 INT8, INT4 ND, FRACTAL_NZ
x1Scale 输入 量化参数的缩放因子,对应公式的x1Scale。 FLOAT32 ND
x2Scale 输入 量化参数的缩放因子,对应公式的x1Scale。 FLOAT32, BFLOAT16 ND
bias 输入 矩阵乘运算后累加的偏置,对应公式中的bias。 INT32, BFLOAT16, FLOAT16, FLOAT32 ND
fusedOpType 输入 Gelu融合类型,支持gelu_tanh或者gelu_erf。 STRING /
y 输出 矩阵乘运算的计算结果。 FLOAT16, BFLOAT16 ND

约束说明

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

调用说明

调用方式 样例代码 说明
aclnn接口 test_aclnn_fused_quant_mat_mul 通过
aclnnFusedQuantMatmul
aclnnFusedQuantMatmulWeightNz
等方式调用FusedQuantMatmul算子。