Skip to content
版本

asc_set_l0c2gm_quant_post

产品支持情况

  • Ascend 950PR/Ascend 950DT:支持
  • Atlas A3 训练系列产品/Atlas A3 推理系列产品:不支持
  • Atlas A2 训练系列产品/Atlas A2 推理系列产品:不支持
  • Atlas 200I/500 A2 推理产品:不支持
  • Atlas 推理系列产品AI Core:不支持
  • Atlas 推理系列产品Vector Core:不支持
  • Atlas 训练系列产品:不支持

功能说明

对QUANT_POST寄存器中的值进行设置, QUANT_POST是一个64bit的寄存器,存储Fixpipe后处理阶段量化信息。 其中各bit含义如下,其中各种量化模式的说明可见asc_copy_l0c2l1中对各种量化模式的说明:

表1 QUANT_POST寄存器比特位说明

bit范围含义
4:0在QS162S4_POST,QF162S4_POST和SHIFT2S4_POST量化模式中表示为s5中的偏移量。
8:0在QS162B8_POST,QF162B8_POST和SHIFT2B8_POST量化模式中表示s9中的偏移量,或在QS162S16_POST,QF162S16_POST和SHIFT2S16_POST量化模式中表示s17偏移量中的低9位。
9在QS162B8_POST,QF162B8_POST和SHIFT2B8_POST量化模式中用于表示量化结果是否为有符号的。
31:13在QS162B8_POST,QF162B8_POST,QS162S4_POST,QF162S4_POST,QS162S16_POST,QF162S16_POST量化模式中表示M3。不能为INF/NAN。
39:32在QS162S16_POST,QF162S16_POST,SHIFT2S16_POST和SHIFT2S32_POST量化模式中表示s17偏移量中的高8位.
44:40在SHIFT2S4_POST,SHIFT2B8_POST,SHIFT2S16_POST和SHIFT2S32_POST量化模式中表示位移值。

函数原型

C++
__aicore__ inline void asc_set_l0c2gm_quant_post(uint64_t config)

参数说明

表2 参数说明

参数名输入/输出描述
config输入待设置的寄存器值。

返回值说明

流水类型

PIPE_S

约束说明

调用示例

C++
const uint64_t MASK_8_0 = 0x1FF;
const uint64_t MASK_BIT9 = 0x200;
const uint64_t MASK_31_13 = 0xFFFFE000;

uint64_t field_8_0 = 0x1AB;
uint64_t bit_9 = 1;
uint64_t field_31_13 = 0x000EF;

uint64_t config = 0;

config = (config & ~MASK_8_0) | (field_8_0 & MASK_8_0);
config = (config & ~MASK_BIT9) | ((bit_9<<9) & MASK_BIT9);
config = (config & ~MASK_31_13) | (field_31_13 & MASK_31_13);
asc_set_l0c2gm_quant_post(config);

免责声明:本站内容由 asc-devkit 仓 master 分支自动编译生成,属于持续开发版本,可能存在缺陷,仅供预览与参考。如需稳定及商用资料,请查阅官方 昇腾社区