SetQuantScalar
功能说明
在Matmul计算时支持int8_t类型输入,half/int8_t类型输出,该场景下将数据从L0C搬出到GM时,会执行反量化操作,将最终结果反量化为half/int8_t类型。本接口提供对输出矩阵的所有值采用同一反量化系数进行反量化的功能。
函数原型
1 | __aicore__ inline void SetQuantScalar(const uint64_t quantScalar) |
参数说明
参数名 |
输入/输出 |
描述 |
---|---|---|
quantScalar |
输入 |
反量化系数。 |
返回值
无
支持的型号
调用示例
1 2 3 4 5 6 7 8 | REGIST_MATMUL_OBJ(&pipe, GetSysWorkSpacePtr(), mm, &tiling); float tmp = 0.1; // 输出gm时会乘以0.1 uint64_t ans = static_cast<uint64_t>(*reinterpret_cast<int32_t*>(&tmp)); // 浮点值量化系数转换为uint64_t类型进行设置 mm.SetQuantScalar(ans); mm.SetTensorA(gm_a); mm.SetTensorB(gm_b); mm.SetBias(gm_bias); mm.IterateAll(gm_c); |
父主题: Matmul