Function arm_nn_transpose_conv_row_s8_s32

Function Documentation

arm_cmsis_nn_status arm_nn_transpose_conv_row_s8_s32(const int8_t *lhs, const int8_t *rhs, int32_t *output_start, const int32_t output_index, const int32_t output_max, const int32_t rhs_rows, const int32_t rhs_cols, const int32_t input_channels, const int32_t output_channels, const int32_t lhs_offset, const int32_t row_offset, const int32_t input_x, const int32_t stride_x, const int32_t skip_row_top, const int32_t skip_row_bottom)

Row of s8 scalars multiplicated with a s8 matrix ad accumulated into a s32 rolling scratch buffer. Helpfunction for transposed convolution.

Note

Rolling buffer refers to how the function wraps around the scratch buffer, e.g. it starts writing at [output_start + output_index], writes to [output_start + output_max] and then continues at [output_start] again.

Parameters:
  • lhs[in] Input left-hand side scalars

  • rhs[in] Input right-hand side matrix

  • output_start[out] Output buffer start

  • output_index[in] Output buffer current index

  • output_max[in] Output buffer size

  • rhs_rows[in] Number of rows in rhs matrix

  • rhs_cols[in] Number of columns in rhs matrix

  • input_channels[in] Number of input channels

  • output_channels[in] Number of output channels

  • lhs_offset[in] Offset added to lhs before multiplication

  • row_offset[in] Address offset between each row of data output

  • input_x[in] Length of lhs scalar row.

  • stride_x[in] Address offset between each scalar-matrix multiplication result.

  • skip_row_top[in] Skip rows on top of the filter, used for padding.

  • skip_row_bottom[in] Skip rows in the bottom of the filter, used for padding.

Returns:

The function returns ARM_CMSIS_NN_SUCCESS