接口功能:对输入张量,通过给定的rowBlockSize和colBlockSize将输入划分成多个数据块,以数据块为基本粒度进行量化。在每个块中,先计算出当前块对应的量化参数scaleOut,并根据scaleOut对输入进行量化。输出最终的量化结果,以及每个块的量化参数scaleOut。
计算公式:
其中block_reduce_max代表求每个block中的最大值。
每个算子分为,必须先调用“aclnnDynamicBlockQuantGetWorkspaceSize”接口获取计算所需workspace大小以及包含了算子计算流程的执行器,再调用“aclnnDynamicBlockQuant”接口执行计算。
[object Object]
[object Object]
参数说明:
[object Object]- [object Object]Atlas A2 训练系列产品/Atlas A2 推理系列产品[object Object]、[object Object]Atlas A3 训练系列产品/Atlas A3 推理系列产品[object Object]:
- 参数
[object Object]只支持rint。 - 参数
[object Object]仅支持取值2,代表ACL_INT8。 - 参数
[object Object]仅支持取值1。 - 参数
[object Object]仅支持取值128。 - 参数
[object Object]的数据类型仅支持INT8。
- 参数
- Atlas 350 加速卡:
- 参数
[object Object]、[object Object]、[object Object]的shape仅支持2维。 - 参数
[object Object]的取值与参数[object Object]的数据类型存在对应关系:- 当输出
[object Object]的数据类型是HIFLOAT8时,参数[object Object]支持设置为round。 - 当输出
[object Object]的数据类型是FLOAT8_E4M3FN、FLOAT8_E5M2时,参数[object Object]支持设置为rint。
- 当输出
- 参数
[object Object]支持取值34、35、36,分别代表HIFLOAT8、FLOAT8_E5M2、FLOAT8_E4M3FN。 - 参数
[object Object]的数据类型不支持INT8。
- 参数
- [object Object]Atlas A2 训练系列产品/Atlas A2 推理系列产品[object Object]、[object Object]Atlas A3 训练系列产品/Atlas A3 推理系列产品[object Object]:
返回值:
第一段接口完成入参校验,出现以下场景时报错:
[object Object]
- 确定性计算:
- aclnnDynamicBlockQuant默认确定性实现。
[object Object]Atlas A2 训练系列产品/Atlas A2 推理系列产品[object Object]、[object Object]Atlas A3 训练系列产品/Atlas A3 推理系列产品[object Object]:
[object Object]Atlas 350 加速卡:
[object Object]