|
|
|
@@ -25,7 +25,7 @@ extern void IndirectGemmInt8_24x4_dp(int8_t *dst, const int8_t *src, const int8_ |
|
|
|
size_t ksize, size_t ic4, size_t output_channel, size_t offset, |
|
|
|
const int32_t *input_sum, size_t act_min, size_t act_max, size_t out_zp, |
|
|
|
int32_t *out_multiplier, int32_t *shift_before, int32_t *shift_after, |
|
|
|
size_t asymmetric, size_t per_channel); |
|
|
|
size_t asymmetric, size_t per_channel, size_t per_channel_offset); |
|
|
|
|
|
|
|
extern void MatMulOptR4Int8Neon64(const int8_t *a, const int8_t *b, int *dst, int row4, int col4, int deep16, |
|
|
|
const int *input_sum, const int *bias); |
|
|
|
@@ -43,9 +43,10 @@ void IndirectGemmInt8_optimize_handler(int8_t *dst, const int8_t *src, const int |
|
|
|
size_t ksize, size_t ic4, size_t output_channel, size_t offset, |
|
|
|
const int32_t *input_sum, size_t act_min, size_t act_max, size_t out_zp, |
|
|
|
int32_t *out_multiplier, int32_t *shift_before, int32_t *shift_after, |
|
|
|
size_t asymmetric, size_t per_channel) { |
|
|
|
size_t asymmetric, size_t per_channel, size_t per_channel_offset) { |
|
|
|
return IndirectGemmInt8_24x4_dp(dst, src, weight, bias, ksize, ic4, output_channel, offset, input_sum, act_min, |
|
|
|
act_max, out_zp, out_multiplier, shift_before, shift_after, asymmetric, per_channel); |
|
|
|
act_max, out_zp, out_multiplier, shift_before, shift_after, asymmetric, per_channel, |
|
|
|
per_channel_offset); |
|
|
|
} |
|
|
|
|
|
|
|
void MatMulR4Int8_optimize_handler(const int8_t *a, const int8_t *b, int *dst, int row4, int col4, int deep16, |
|
|
|
|