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

DualLevelQuantBatchMatmul

产品支持情况

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

功能说明

  • 算子功能:完成二级量化mxfp4的矩阵乘计算
  • 计算公式
    • x1和x2为FLOAT4_E2M1,x1Levl0Scale和x2Levl0Scale为FLOAT32,x1Levl1Scale和x2Levl1Scale为FLOAT8_E8M0,out为FLOAT16/BFLOAT16, bias为可选参数类型为FLOAT32:

      out=∑ilevel0GroupSizex1Levl0Scale@x2Levl0Scale∑ijlevel1GroupSize((x1Levl1Scale@x1ij)@(x2Levl1Scale@x2ij))+biasout =\sum_{i}^{level0GroupSize} x1Levl0Scale @ x2Levl0Scale \sum_{ij}^{level1GroupSize} ((x1Levl1Scale @ x1_{ij})@ (x2Levl1Scale @ x2_{ij})) + bias

参数说明

参数名 输入/输出/属性 描述 数据类型 数据格式
x1 输入 矩阵乘运算中的左矩阵。 FLOAT4_E2M1 ND
x2 输入 矩阵乘运算中的右矩阵。 FLOAT4_E2M1 FRACTAL_NZ
x1_level0_scale 输入 矩阵乘计算时,x1的一级量化参数的缩放因子,对应公式的x1Level0Scale。 FLOAT32 ND
x1_level1_scale 输入 矩阵乘计算时,x1的二级量化参数的缩放因子,对应公式的x1Level1Scale。 FLOAT8_E8M0 ND
x2_level0_scale 输入 矩阵乘计算时,x2的一级量化参数的缩放因子,对应公式的x2Level0Scale。 FLOAT32 ND
x2_level1_scale 输入 矩阵乘计算时,x2的二级量化参数的缩放因子,对应公式的x2Level1Scale。 FLOAT8_E8M0 ND
bias 输入 矩阵乘运算后累加的偏置,对应公式中的bias。 FLOAT32 ND
y 输出 矩阵乘运算的计算结果。 BFLOAT16, FLOAT16 ND
dtype 属性 矩阵乘运算计算结果的输出类型。 INT64 -
transpose_x1 属性 矩阵乘运算中的左矩阵x1是否转置 BOOL -
transpose_x2 属性 矩阵乘运算中的右矩阵x2是否转置。 BOOL -
level0_group_size 属性 一级量化groupsize的大小,对应公式中的level0GroupSize INT64 -
level1_group_size 属性 二级量化groupsize的大小,对应公式中的level1GroupSize INT64 -

约束说明

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

调用说明

调用方式 调用样例 说明
aclnn调用 test_aclnn_dual_level_quant_matmul_weight_nz 通过aclnnDualLevelQuantMatmulWeightNz接口方式调用DualLevelQuantBatchMatmul算子。