Function arm_batch_matmul_s16

Function Documentation

arm_cmsis_nn_status arm_batch_matmul_s16(const cmsis_nn_context *ctx, const cmsis_nn_bmm_params *bmm_params, const cmsis_nn_per_tensor_quant_params *quant_params, const cmsis_nn_dims *input_lhs_dims, const int16_t *input_lhs, const cmsis_nn_dims *input_rhs_dims, const int16_t *input_rhs, const cmsis_nn_dims *output_dims, int16_t *output)

Batch matmul function with 16 bit input and output.

  1. Supported framework: TensorFlow Lite Micro

  2. Performs row * row matrix multiplication with the RHS transposed.

Parameters:
  • ctx[in] Unused: this function requires no scratch buffer and does not read or write ctx on any build, so ctx->buf may be NULL. Retained for signature compatibility with arm_batch_matmul_s8(). There is deliberately no arm_batch_matmul_s16_get_buffer_size(); in particular arm_fully_connected_s8_get_buffer_size() is not the sizer for this argument. If a real buffer is passed, the caller is expected to clear it, if applicable, for security reasons.

  • bmm_params[in] Batch matmul Parameters Adjoint flags are currently unused.

  • quant_params[in] Quantization parameters

  • input_lhs_dims[in] Input lhs tensor dimensions. This should be NHWC where LHS.C = RHS.C

  • input_lhs[in] Pointer to input tensor

  • input_rhs_dims[in] Input lhs tensor dimensions. This is expected to be transposed so should be NHWC where LHS.C = RHS.C

  • input_rhs[in] Pointer to transposed input tensor

  • output_dims[in] Output tensor dimensions

  • output[out] Pointer to the output tensor

Returns:

The function returns ARM_CMSIS_NN_SUCCESS