CANN/ops-nn Ascend量化V2算子
2026/5/11 12:51:34 网站建设 项目流程

AscendQuantV2

【免费下载链接】ops-nn本项目是CANN提供的神经网络类计算算子库,实现网络在NPU上加速计算。项目地址: https://gitcode.com/cann/ops-nn

产品支持情况

产品是否支持
Ascend 950PR/Ascend 950DT
Atlas A3 训练系列产品/Atlas A3 推理系列产品
Atlas A2 训练系列产品/Atlas A2 推理系列产品
Atlas 200I/500 A2 推理产品×
Atlas 推理系列产品
Atlas 训练系列产品×
Kirin X90 处理器系列产品
Kirin 9030 处理器系列产品

功能说明

  • 算子功能:对输入x进行量化操作,支持设置axis以指定scale和offset对应的轴,scale和offset的shape需要满足和axis指定x的轴相等或1。axis当前支持设置最后两个维度。
  • 计算公式:
    • sqrt_mode为false时,计算公式为:

      $$ y = round((x * scale) + offset) $$

    • sqrt_mode为true时,计算公式为:

      $$ y = round((x * scale * scale) + offset) $$

参数说明

参数名输入/输出/属性描述数据类型数据格式
x输入需要执行量化的输入,对应公式中的`x`。FLOAT16、FLOAT32、BFLOAT16ND
scale输入量化中的scale值,对应公式中的`scale`。FLOAT16、FLOAT32、BFLOAT16ND
offset可选输入反量化中的offset值,对应公式中的`offset`。FLOAT16、FLOAT32、BFLOAT16ND
sqrt_mode可选属性
  • 指定scale参与计算的逻辑,对应公式中的`sqrtMode`。
  • 默认值为false。
BOOL-
round_mode可选属性
  • 指定cast到int8输出的转换方式。支持取值round,ceil,trunc,floor。
  • 默认值为"round"。
STRING-
dst_type可选属性
  • 指定输出的数据类型。
  • 默认值为DT_INT8。
INT-
axis可选属性
  • 指定scale和offset对应x的维度。
  • 默认值为-1。
INT-
y输出表示AscendQuantV2的结果输出`y`,对应公式中的`y`。shape与输入`x`的shape一致。INT8、INT4、HIFLOAT8、FLOAT8_E5M2、FLOAT8_E4M3FNND
  • Atlas 推理系列产品 :

    • 数据类型:
      • 输入Tensor数据类型不支持BFLOAT16。
      • 输出Tensor数据类型仅支持INT8。
    • round_mode,支持取值round,ceil,trunc,floor。
    • dst_type:支持取值2,表示INT8。
    • axis:只支持指定x的最后一个维度(假设输入x维度是xDimNum,axis取值是-1或xDimNum-1)。
  • Atlas A2 训练系列产品/Atlas A2 推理系列产品 、 Atlas A3 训练系列产品/Atlas A3 推理系列产品 :

    • 输出Tensor数据类型仅支持INT8、INT4。
    • dst_type:支持取值2,29,分别表示INT8、INT4。
    • axis:支持指定x的最后两个维度(假设输入x维度是xDimNum,axis取值范围是[-2,-1]或[xDimNum-2,xDimNum-1])。
  • Ascend 950PR/Ascend 950DT :

    • round_mode:dst_type表示FLOAT8_E5M2或FLOAT8_E4M3FN时,只支持round。dst_type表示HIFLOAT8时,支持round和hybrid。dst_type表示其他类型时,支持round,ceil,trunc和floor。
    • axis:支持指定x的最后两个维度(假设输入x维度是xDimNum,axis取值范围是[-2,-1]或[xDimNum-2,xDimNum-1])。
  • Kirin X90/Kirin 9030 处理器系列产品:xscaleoffset不支持BFLOAT16;y数据类型不支持INT4、HIFLOAT8、FLOAT8_E5M2、FLOAT8_E4M3FN。

约束说明

调用说明

调用方式样例代码说明
aclnn接口test_aclnn_ascend_quant通过aclnnAscendQuant接口方式调用AscendQuantV2算子。
aclnn接口test_aclnn_ascend_quant_v3通过aclnnAscendQuantV3接口方式调用AscendQuantV2算子。
图模式-通过算子IR构图方式调用AscendQuantV2算子。

【免费下载链接】ops-nn本项目是CANN提供的神经网络类计算算子库,实现网络在NPU上加速计算。项目地址: https://gitcode.com/cann/ops-nn

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询