SetQuantVector
功能说明
在Matmul计算时支持int8类型输入,half/int8类型输出,该场景下,需要调用反量化接口进行反量化。调用反量化接口后,将数据从L0C搬出到GM时,会执行反量化操作,将最终结果反量化为half类型。本节中的反量化接口提供一个量化参数向量,该向量的shape为[1, N], N值为Matmul矩阵计算时M/N/K中的N值。对输出矩阵的每一列都采用该向量中对应列的反量化系数进行反量化。
请在Iterate或者IterateAll之前调用该接口。
函数原型
1
|
__aicore__ inline void SetQuantVector(const GlobalTensor<uint64_t>& quantTensor) |
参数说明
参数名 |
输入/输出 |
描述 |
---|---|---|
quantTensor |
输入 |
反量化运算时的参数向量 |
返回值
无
支持的型号
Atlas推理系列产品AI Core
Atlas A2训练系列产品/Atlas 800I A2推理产品
Atlas 200/500 A2推理产品
注意事项
无
调用示例
GlobalTensor gmQuant; ... REGIST_MATMUL_OBJ(&pipe, GetSysWorkSpacePtr(), mm, &tiling); mm.SetQuantVector(gmQuant); mm.SetTensorA(gm_a); mm.SetTensorB(gm_b); mm.SetBias(gm_bias); mm.IterateAll(gm_c);
父主题: Matmul