CMSIS-NN  Version 3.0.0
CMSIS NN Software Library
 All Data Structures Files Functions Variables Enumerations Enumerator Macros Groups Pages
arm_nn_mat_mult_kernel_s8_s16_reordered.c File Reference


q7_t * arm_nn_mat_mult_kernel_s8_s16_reordered (const q7_t *input_a, const q15_t *input_b, const uint16_t output_ch, const int32_t *out_shift, const int32_t *out_mult, const int32_t out_offset, const int16_t activation_min, const int16_t activation_max, const uint16_t num_col_a, const int32_t *const output_bias, q7_t *out_0)
 Matrix-multiplication of re-ordered input B with A. More...

Function Documentation

q7_t* arm_nn_mat_mult_kernel_s8_s16_reordered ( const q7_t *  input_a,
const q15_t *  input_b,
const uint16_t  output_ch,
const int32_t *  out_shift,
const int32_t *  out_mult,
const int32_t  out_offset,
const int16_t  activation_min,
const int16_t  activation_max,
const uint16_t  num_col_a,
const int32_t *const  output_bias,
q7_t *  out_0 

For arguments, refer arm_nn_mat_mult_kernel_s8_s16. The re-ordering is a consequence of sign extension done by the SXTB16 command on input_b. The outputs are clamped in the range provided by activation min and max.

  • Supported framework : TensorFlow Lite Micro
  • The following constrains on the arguments apply
    1. num_col_a is a multiple of 4
    2. output_ch is a multiple of 2

References arm_nn_read_q15x2_ia(), arm_nn_requantize(), MAX, and MIN.