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

QuantBatchMatmulV3

产品支持情况

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

功能说明

  • 算子功能:完成量化的矩阵乘计算,最小支持输入维度为2维,最大支持输入维度为6维。

  • 计算公式:

    • Atlas A2 训练系列产品/Atlas A2 推理系列产品、Atlas A3 训练系列产品/Atlas A3 推理系列产品、Ascend 950PR/Ascend 950DT:
      • 无pertoken无bias:

        out=x1@x2∗scale+offsetout = x1@x2 * scale + offset

      • bias INT32:

        out=(x1@x2+bias)∗scale+offsetout = (x1@x2 + bias) * scale + offset

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

        out=x1@x2∗scale+biasout = x1@x2 * scale + bias

      • pertoken无bias:

        out=x1@x2∗scale∗pertokenScaleOptionalout = x1@x2 * scale * pertokenScaleOptional

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

        out=(x1@x2+bias)∗scale∗pertokenScaleOptionalout = (x1@x2 + bias) * scale * pertokenScaleOptional

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

        out=x1@x2∗scale∗pertokenScaleOptional+biasout = x1@x2 * scale * pertokenScaleOptional + bias

参数说明

参数名 输入/输出/属性 描述 数据类型 数据格式
x1 输入 矩阵乘运算中的左矩阵。 INT8, INT4, HIFLOAT8, FLOAT8_E5M2, FLOAT8_E4M3FN, FLOAT4_E1M2, FLOAT4_E2M1 ND, FRACTAL_NZ
x2 输入 矩阵乘运算中的右矩阵。 INT8, INT4, HIFLOAT8, FLOAT8_E5M2, FLOAT8_E4M3FN, FLOAT4_E1M2, FLOAT4_E2M1 ND, FRACTAL_NZ
scale 输入 量化参数的缩放因子,对应公式的scale。 UINT64, FLOAT32, INT64, BF16, FLOAT8_E8M0 ND
offset 输入 量化参数的偏置因子,对应公式的offset。 FLOAT32 ND
bias 输入 矩阵乘运算后累加的偏置,对应公式中的bias。 INT32, BF16, FLOAT16, FLOAT32 ND
pertoken_scale 输入 量化参数的缩放因子,对应公式中的pertokenScaleOptional。 FLOAT32, FLOAT8_E8M0 ND
y 输出 矩阵乘运算的计算结果。 FLOAT16, INT8, BF16, INT32, FLOAT32, HIFLOAT8, FLOAT8_E4M3FN ND
  • Atlas A2 训练系列产品/Atlas A2 推理系列产品:
    • x1只支持INT8、INT4数据类型。
    • x2只支持INT8、INT4数据类型。
    • scale只支持UINT64、FLOAT32、INT64、BF16数据类型。
    • bias只支持INT32、BFLOAT16、FLOAT16、FLOAT32数据类型。
    • offset只支持FLOAT32数据类型。
    • pertoken_scale只支持FLOAT32数据类型。
    • y只支持FLOAT16和BFLOAT16数据类型。
  • Atlas A3 训练系列产品/Atlas A3 推理系列产品:
    • x1只支持INT8、INT4数据类型。
    • x2只支持INT8、INT4数据类型。
    • scale只支持UINT64、FLOAT32、INT64、BF16数据类型。
    • bias只支持INT32,BFLOAT16,FLOAT16,FLOAT32数据类型。
    • offset只支持FLOAT32数据类型。
    • pertoken_scale只支持FLOAT32数据类型。
    • y只支持FLOAT16和BFLOAT16数据类型。

约束说明

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

调用说明

调用方式 样例代码 说明
aclnn接口 test_aclnn_quant_matmul_v3 通过
aclnnQuantMatmulV3
aclnnQuantMatmulV4
aclnnQuantMatmulWeightNz
aclnnQuantMatmulV5
等方式调用QuantBatchMatmulV3算子。