昇腾C矩阵量化向量接口 SetQuantVector【免费下载链接】asc-devkit本项目是CANN 推出的昇腾AI处理器专用的算子程序开发语言原生支持C和C标准规范主要由类库和语言扩展层构成提供多层级API满足多维场景算子开发诉求。项目地址: https://gitcode.com/cann/asc-devkit产品支持情况产品是否支持Ascend 950PR/Ascend 950DT√Atlas A3 训练系列产品 / Atlas A3 推理系列产品√Atlas A2 训练系列产品 / Atlas A2 推理系列产品√Atlas 200I/500 A2 推理产品√Atlas 推理系列产品 AI Core√Atlas 推理系列产品 Vector CorexAtlas 训练系列产品xKirin X90√功能说明本接口提供对输出矩阵采用向量进行量化或反量化的功能即对于输入shape为[1, N]的参数向量N值为Matmul矩阵计算时M/N/K中的N值对输出矩阵的每一列都采用该向量中对应列的系数进行量化或反量化。Matmul反量化场景在Matmul计算时左、右矩阵的输入为int8_t或int4b_t类型输出为half类型或者左、右矩阵的输入为int8_t类型输出为int8_t类型。该场景下输出C矩阵的数据从CO1搬出到Global Memory时会执行反量化操作将最终结果反量化为对应的half或int8_t类型。Matmul量化场景在Matmul计算时左、右矩阵的输入为half或bfloat16_t类型输出为int8_t类型。该场景下输出C矩阵的数据从CO1搬出到Global Memory时会执行量化操作将最终结果量化为int8_t类型。函数原型量化参数的存储位置为GM__aicore__ inline void SetQuantVector(const GlobalTensoruint64_t quantTensor)量化参数的存储位置为L1 Buffer__aicore__ inline void SetQuantVector(const LocalTensoruint64_t quantTensor)Atlas 200I/500 A2 推理产品暂不支持量化参数的存储位置为L1 Buffer。Atlas 推理系列产品AI Core暂不支持量化参数的存储位置为L1 Buffer。Kirin X90暂不支持量化参数的存储位置为L1 Buffer。参数说明参数名输入/输出描述quantTensor输入量化或反量化运算时的参数向量。参数向量的存储位置为GM或L1 Buffer。将float数据类型的量化计算参数scale、offset转换为uint64类型的入参的计算公式如下quantTensor为64位格式初始为0。scale按bit位取高19位截断存储于quantTensor的bit位32位处并将46位修改为1。quantTensor quantTensor ∣ (scale 0xFFFFE000) ∣ (1 ≪ 46)根据offset取值进行后续计算若offset不存在不再进行后续计算。若offset存在将offset值处理为int范围为[-256, 255]。_o__f__f__s__e__t _M__a__x(M__i__n(I__N__T(R__o__u__n__d(o__f__f__s__e__t)), 255), −256)再将offset按bit位保留9位并存储于quantTensor的37到45位。quantTensor (quantTensor 0__x__4000__F__F__F__F__F__F__F__F) ∣ ((o__f__f__s__e__t 0__x__1__F__F_) ≪ 37)_返回值说明无约束说明需与SetDequantType保持一致。本接口必须在Iterate或者IterateAll前调用。调用示例REGIST_MATMUL_OBJ(pipe, GetSysWorkSpacePtr(), mm, tiling); // quantTensor量化或反量化运算时的Tensor支持的存储位置为GM和L1 mm.SetQuantVector(quantTensor); mm.SetTensorA(gm_a); mm.SetTensorB(gm_b); if (tiling.isBias) { matmulObj.SetBias(biasGlobal); } mm.IterateAll(gm_c); mm.End();【免费下载链接】asc-devkit本项目是CANN 推出的昇腾AI处理器专用的算子程序开发语言原生支持C和C标准规范主要由类库和语言扩展层构成提供多层级API满足多维场景算子开发诉求。项目地址: https://gitcode.com/cann/asc-devkit创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考