Function arm_nn_mat_mult_s8

Function Documentation

int8_t *arm_nn_mat_mult_s8(const int8_t *input_row, const int8_t *input_col, const uint16_t output_ch, const uint16_t col_batches, const int32_t *output_shift, const int32_t *output_mult, const int32_t out_offset, const int32_t col_offset, const int32_t row_offset, const int16_t out_activation_min, const int16_t out_activation_max, const uint16_t row_len, const int32_t *const bias, int8_t *out)

General Matrix-multiplication function with per-channel requantization.

Parameters:
  • input_row[in] pointer to row operand

  • input_col[in] pointer to col operand

  • output_ch[in] number of rows of input_row

  • col_batches[in] number of column batches. Range: 1 to 4

  • output_shift[in] pointer to per output channel requantization shift parameter.

  • output_mult[in] pointer to per output channel requantization multiplier parameter.

  • out_offset[in] output tensor offset.

  • col_offset[in] input tensor(col) offset.

  • row_offset[in] kernel offset(row). Not used.

  • out_activation_min[in] minimum value to clamp the output to. Range : int8

  • out_activation_max[in] maximum value to clamp the output to. Range : int8

  • row_len[in] number of elements in each row

  • bias[in] per output channel bias. Range : int32

  • out[inout] pointer to output

Returns:

The function returns one of the two

  1. The incremented output pointer for a successful operation or

  2. NULL if implementation is not available.

    Supported framework: TensorFlow Lite