矩阵计算完成后,对结果进行量化处理,之后将处理结果搬运到Unified Buffer中。量化参数共有2个:quant_pre和quant_post,分别对应预处理和后处理阶段。 quant_pre共有8种量化模式,分别为:
- NoQuant:不使能量化功能。
- F322BF16:float量化成bfloat16_t。量化结果不支持INF_NAN模式。
- F322F16:float量化成half。量化结果支持INF_NAN模式。
- DEQF16:int32_t量化成half。量化结果不支持INF_NAN模式。
- VDEQF16:int32_t量化成half。量化结果不支持INF_NAN模式。
- QF322B8_PRE:float量化成uint8_t/int8_t。scalar量化。
- VQF322B8_PRE:float量化成uint8_t/int8_t。scalar量化。
- REQ8:int32_t量化成uint8_t/int8_t。scalar量化。
- VREQ8:int32_t量化成uint8_t/int8_t。矢量量化。
- QF322FP8_PRE:float量化成fp8_e4m3fn_t,scalar量化。
- VQF322FP8_PRE:float量化成fp8_e4m3fn_t,矢量量化。
- QF322HIF8_PRE:float量化成hifloat8_t(Half to Away Round),scalar量化。
- VQF322HIF8_PRE:float量化成hifloat8_t(Half to Away Round),矢量量化。
- QF322HIF8_PRE_HYBRID:float量化成hifloat8_t(Hybrid Round),scalar量化。
- VQF322HIF8_PRE_HYBRID:float量化成hifloat8_t(Hybrid Round),矢量量化。
- QS322BF16_PRE:int32_t量化成bfloat16_t,scalar量化。
- VQS322BF16_PRE:int32_t量化成bfloat16_t,矢量量化。
- QF322F16_PRE:float量化成half,scalar量化。
- VQF322F16_PRE:float量化成half,矢量量化。
- QF322BF16_PRE:float量化成bfloat16_t,scalar量化。
- VQF322BF16_PRE:float量化成bfloat16_t,矢量量化。
- QF322BF16_PRE:float量化成float,scalar量化。该量化模式精度无法达到双万分之一,可以达到双千分之一。
- VQF322BF16_PRE:float量化成float,矢量量化。该量化模式精度无法达到双万分之一,可以达到双千分之一。 quant_post共有3种量化模式,分别为:
- NoConv:不使能量化功能。
- QS162B8_POST:int16_t量化成bfloat8_t,scalar量化。
- VQS162B8_POST:int16_t量化成bfloat8_t,矢量量化。
- QF162B8_POST:half量化成bfloat8_t,scalar量化。
- VQF162B8_POST:half量化成bfloat8_t,矢量量化。
- QS162S4_POST:int16_t量化成int4_t,scalar量化。
- VQS162S4_POST:int16_t量化成int4_t,矢量量化。
- QF162S4_POST:half量化成int4_t类型,scalar量化。
- VQF162S4_POST:half量化成int4_t类型,矢量量化。
- QS162S16_POST:int16_t量化成int16_t,scalar量化。
- VQS162S16_POST:int16_t量化成int16_t,矢量量化。
- QF162S16_POST:half量化成int16_t,scalar量化。
- VQF162S16_POST:half量化成int16_t,矢量量化。
常规搬运
[object Object]同步搬运
[object Object]
无
PIPE_FIX
- src_addr的起始地址要求按照对应数据类型所占字节数对齐。
- dst_addr的起始地址要求32字节对齐。
[object Object]