接口功能:对输入weight数据做预处理,实现低比特数据由稀疏存储到紧密存储的排布转换。输出weightInt4Pack的声明为FRACTAL_NZ时,该算子将从ND转为FRACTAL_NZ。
- [object Object]Atlas A2 训练系列产品/Atlas A2 推理系列产品[object Object]、[object Object]Atlas A3 训练系列产品/Atlas A3 推理系列产品[object Object]:将INT32类型的weight输入数据打包为紧密排布的INT4数据。
- Atlas 350 加速卡 :将INT32类型的weight打包为紧密排布的INT4类型,将FLOAT类型的weight打包为紧密排布的FLOAT4_E2M1类型。
每个算子分为,必须先调用“aclnnConvertWeightToINT4PackGetWorkspaceSize”接口获取计算所需workspace大小以及包含了算子计算流程的执行器,再调用“aclnnConvertWeightToINT4Pack”接口执行计算。
确定性说明:
- [object Object]Atlas A2 训练系列产品/Atlas A2 推理系列产品[object Object]、[object Object]Atlas A3 训练系列产品/Atlas A3 推理系列产品[object Object]、Atlas 350 加速卡:aclnnConvertWeightToINT4Pack默认确定性实现。
参数间数据类型、数据格式间关系如下:
[object Object]Atlas A2 训练系列产品/Atlas A2 推理系列产品[object Object]、[object Object]Atlas A3 训练系列产品/Atlas A3 推理系列产品[object Object]:
[object Object]Atlas 350 加速卡:
[object Object]
[object Object]Atlas A2 训练系列产品/Atlas A2 推理系列产品[object Object]、[object Object]Atlas A3 训练系列产品/Atlas A3 推理系列产品[object Object]: 示例代码如下,仅供参考,具体编译和执行过程请参考。 伪量化有aclnnWeightQuantBatchMatmulV2和aclnnWeightQuantBatchMatmulV3接口,这里以aclnnWeightQuantBatchMatmulV2为例。
[object Object]Atlas 350 加速卡: 示例代码如下(INT32输入),仅供参考,具体编译和执行过程请参考。 伪量化有aclnnWeightQuantBatchMatmulV2和aclnnWeightQuantBatchMatmulV3接口, 这里以aclnnWeightQuantBatchMatmulV2为例
[object Object]Atlas 350 加速卡: 示例代码如下(FLOAT输入),仅供参考,具体编译和执行过程请参考。 伪量化有aclnnWeightQuantBatchMatmulV2和aclnnWeightQuantBatchMatmulV3接口, 这里以aclnnWeightQuantBatchMatmulV2为例
[object Object]