aclnnFlatQuant
产品支持情况
功能说明
接口功能:该融合算子为输入矩阵x一次进行两次小矩阵乘法,即右乘输入矩阵kroneckerP2,左乘输入矩阵kroneckerP1,然后针对矩阵乘的结果进行量化处理。目前支持pertoken和pergroup量化方式,分别对应int4和float4_e2m1量化输出类型。
矩阵乘计算公式:
1.输入x右乘kroneckerP2:
2.kroneckerP1左乘x':
量化计算方式:
pertoken量化方式:
1.沿着x''的0维计算最大绝对值并除以(7 / clipRatio)以计算需量化为INT4格式的量化因子:
2.计算输出的out:
pergroup量化方式
1.矩阵乘后x''的shape为[K,M,N],在计算pergroup量化方式其中的mx_quantize时,需reshape为[K,M*N],记为x2
2.在x2第二维上按照groupsize进行分组,包含元素e0,e1...e31。计算出emax
3.计算出reduceMaxValue和sharedExp
4.计算quantScale
5.每groupsize共享一个quantScale,计算out
函数原型
每个算子分为,必须先调用[object Object]接口获取计算所需workspace大小以及包含了算子计算流程的执行器,再调用[object Object]接口执行计算。
[object Object]
[object Object]
aclnnFlatQuantGetWorkspaceSize
[object Object]aclnnFlatQuant
约束说明
- 确定性计算:
- aclnnFlatQuant默认确定性实现。
调用示例
[object Object]