NMSIS-NN  Version 1.2.0
NMSIS NN Software Library
GetBufferSizeNNConv

Functions

__STATIC_INLINE int32_t riscv_convolve_fast_s16_get_buffer_size_dsp (const nmsis_nn_dims *input_dims, const nmsis_nn_dims *filter_dims)
 
int32_t riscv_convolve_fast_s16_get_buffer_size (const nmsis_nn_dims *input_dims, const nmsis_nn_dims *filter_dims)
 Get the required buffer size for fast s16 convolution function. More...
 
int32_t riscv_convolve_s16_get_buffer_size (const nmsis_nn_dims *input_dims, const nmsis_nn_dims *filter_dims)
 Get the required buffer size for s16 convolution function. More...
 
int32_t riscv_convolve_wrapper_s16_get_buffer_size (const nmsis_nn_conv_params *conv_params, const nmsis_nn_dims *input_dims, const nmsis_nn_dims *filter_dims, const nmsis_nn_dims *output_dims)
 Get the required buffer size for riscv_convolve_wrapper_s16. More...
 
int32_t riscv_convolve_wrapper_s16_get_buffer_size_dsp (const nmsis_nn_conv_params *conv_params, const nmsis_nn_dims *input_dims, const nmsis_nn_dims *filter_dims, const nmsis_nn_dims *output_dims)
 Get the required buffer size for riscv_convolve_wrapper_s16 for for processors with DSP extension. Refer to riscv_convolve_wrapper_s16_get_buffer_size() for function argument details. More...
 
int32_t riscv_convolve_s8_get_buffer_size (const nmsis_nn_dims *input_dims, const nmsis_nn_dims *filter_dims)
 Get the required buffer size for s8 convolution function. More...
 
int32_t riscv_convolve_1_x_n_s8_get_buffer_size (const nmsis_nn_dims *input_dims, const nmsis_nn_dims *filter_dims)
 Get the required additional buffer size for 1xn convolution. More...
 
int32_t riscv_convolve_1x1_s8_fast_get_buffer_size (const nmsis_nn_dims *input_dims)
 Get the required buffer size for riscv_convolve_1x1_s8_fast. More...
 
int32_t riscv_convolve_wrapper_s8_get_buffer_size (const nmsis_nn_conv_params *conv_params, const nmsis_nn_dims *input_dims, const nmsis_nn_dims *filter_dims, const nmsis_nn_dims *output_dims)
 Get the required buffer size for riscv_convolve_wrapper_s8. More...
 
int32_t riscv_convolve_wrapper_s8_get_buffer_size_dsp (const nmsis_nn_conv_params *conv_params, const nmsis_nn_dims *input_dims, const nmsis_nn_dims *filter_dims, const nmsis_nn_dims *output_dims)
 Get the required buffer size for riscv_convolve_wrapper_s8 for processors with DSP extension. Refer to riscv_convolve_wrapper_s8_get_buffer_size() for function argument details. More...
 
__STATIC_INLINE int32_t riscv_depthwise_conv_fast_s16_get_buffer_size_dsp (const nmsis_nn_dims *input_dims, const nmsis_nn_dims *filter_dims)
 
int32_t riscv_depthwise_conv_fast_s16_get_buffer_size (const nmsis_nn_dims *input_dims, const nmsis_nn_dims *filter_dims)
 Get the required buffer size for optimized s16 depthwise convolution function with constraint that in_channel equals out_channel. More...
 
int32_t riscv_depthwise_conv_wrapper_s16_get_buffer_size (const nmsis_nn_dw_conv_params *dw_conv_params, const nmsis_nn_dims *input_dims, const nmsis_nn_dims *filter_dims, const nmsis_nn_dims *output_dims)
 Get size of additional buffer required by riscv_depthwise_conv_wrapper_s16() More...
 
int32_t riscv_depthwise_conv_wrapper_s16_get_buffer_size_dsp (const nmsis_nn_dw_conv_params *dw_conv_params, const nmsis_nn_dims *input_dims, const nmsis_nn_dims *filter_dims, const nmsis_nn_dims *output_dims)
 
__STATIC_INLINE int32_t riscv_depthwise_conv_s8_opt_get_buffer_size_dsp (const nmsis_nn_dims *input_dims, const nmsis_nn_dims *filter_dims)
 
int32_t riscv_depthwise_conv_s8_opt_get_buffer_size (const nmsis_nn_dims *input_dims, const nmsis_nn_dims *filter_dims)
 Get the required buffer size for optimized s8 depthwise convolution function with constraint that in_channel equals out_channel. More...
 
int32_t riscv_depthwise_conv_wrapper_s8_get_buffer_size (const nmsis_nn_dw_conv_params *dw_conv_params, const nmsis_nn_dims *input_dims, const nmsis_nn_dims *filter_dims, const nmsis_nn_dims *output_dims)
 Get size of additional buffer required by riscv_depthwise_conv_wrapper_s8() More...
 
int32_t riscv_depthwise_conv_wrapper_s8_get_buffer_size_dsp (const nmsis_nn_dw_conv_params *dw_conv_params, const nmsis_nn_dims *input_dims, const nmsis_nn_dims *filter_dims, const nmsis_nn_dims *output_dims)
 

Detailed Description

Function Documentation

◆ riscv_convolve_1_x_n_s8_get_buffer_size()

int32_t riscv_convolve_1_x_n_s8_get_buffer_size ( const nmsis_nn_dims input_dims,
const nmsis_nn_dims filter_dims 
)

Get the required additional buffer size for 1xn convolution.

Parameters
[in]input_dimsInput (activation) tensor dimensions. Format: [N, H, W, C_IN]
[in]filter_dimsFilter tensor dimensions. Format: [C_OUT, 1, WK, C_IN] where WK is the horizontal spatial filter dimension
Returns
The function returns required buffer size(bytes)

◆ riscv_convolve_1x1_s8_fast_get_buffer_size()

int32_t riscv_convolve_1x1_s8_fast_get_buffer_size ( const nmsis_nn_dims input_dims)

Get the required buffer size for riscv_convolve_1x1_s8_fast.

Parameters
[in]input_dimsInput (activation) dimensions
Returns
The function returns the required buffer size in bytes

◆ riscv_convolve_fast_s16_get_buffer_size()

int32_t riscv_convolve_fast_s16_get_buffer_size ( const nmsis_nn_dims input_dims,
const nmsis_nn_dims filter_dims 
)

Get the required buffer size for fast s16 convolution function.

Parameters
[in]input_dimsInput (activation) tensor dimensions. Format: [N, H, W, C_IN]
[in]filter_dimsFilter tensor dimensions. Format: [C_OUT, HK, WK, C_IN] where HK and WK are the spatial filter dimensions
Returns
The function returns required buffer size(bytes)

◆ riscv_convolve_fast_s16_get_buffer_size_dsp()

__STATIC_INLINE int32_t riscv_convolve_fast_s16_get_buffer_size_dsp ( const nmsis_nn_dims input_dims,
const nmsis_nn_dims filter_dims 
)

◆ riscv_convolve_s16_get_buffer_size()

int32_t riscv_convolve_s16_get_buffer_size ( const nmsis_nn_dims input_dims,
const nmsis_nn_dims filter_dims 
)

Get the required buffer size for s16 convolution function.

Parameters
[in]input_dimsInput (activation) tensor dimensions. Format: [N, H, W, C_IN]
[in]filter_dimsFilter tensor dimensions. Format: [C_OUT, HK, WK, C_IN] where HK and WK are the spatial filter dimensions
Returns
The function returns required buffer size(bytes)

◆ riscv_convolve_s8_get_buffer_size()

int32_t riscv_convolve_s8_get_buffer_size ( const nmsis_nn_dims input_dims,
const nmsis_nn_dims filter_dims 
)

Get the required buffer size for s8 convolution function.

Parameters
[in]input_dimsInput (activation) tensor dimensions. Format: [N, H, W, C_IN]
[in]filter_dimsFilter tensor dimensions. Format: [C_OUT, HK, WK, C_IN] where HK and WK are the spatial filter dimensions
Returns
The function returns required buffer size(bytes)

◆ riscv_convolve_wrapper_s16_get_buffer_size()

int32_t riscv_convolve_wrapper_s16_get_buffer_size ( const nmsis_nn_conv_params conv_params,
const nmsis_nn_dims input_dims,
const nmsis_nn_dims filter_dims,
const nmsis_nn_dims output_dims 
)

Get the required buffer size for riscv_convolve_wrapper_s16.

Parameters
[in]conv_paramsConvolution parameters (e.g. strides, dilations, pads,...). conv_params->input_offset : Not used conv_params->output_offset : Not used
[in]input_dimsInput (activation) dimensions. Format: [N, H, W, C_IN]
[in]filter_dimsFilter dimensions. Format: [C_OUT, HK, WK, C_IN] where HK and WK are the spatial filter dimensions
[in]output_dimsOutput tensor dimensions. Format: [N, H, W, C_OUT]
Returns
The function returns required buffer size(bytes)

◆ riscv_convolve_wrapper_s16_get_buffer_size_dsp()

int32_t riscv_convolve_wrapper_s16_get_buffer_size_dsp ( const nmsis_nn_conv_params conv_params,
const nmsis_nn_dims input_dims,
const nmsis_nn_dims filter_dims,
const nmsis_nn_dims output_dims 
)

Get the required buffer size for riscv_convolve_wrapper_s16 for for processors with DSP extension. Refer to riscv_convolve_wrapper_s16_get_buffer_size() for function argument details.

Note
Intended for compilation on Host. If compiling for an Arm target, use riscv_convolve_wrapper_s16_get_buffer_size().

◆ riscv_convolve_wrapper_s8_get_buffer_size()

int32_t riscv_convolve_wrapper_s8_get_buffer_size ( const nmsis_nn_conv_params conv_params,
const nmsis_nn_dims input_dims,
const nmsis_nn_dims filter_dims,
const nmsis_nn_dims output_dims 
)

Get the required buffer size for riscv_convolve_wrapper_s8.

Parameters
[in]conv_paramsConvolution parameters (e.g. strides, dilations, pads,...). Range of conv_params->input_offset : [-127, 128] Range of conv_params->output_offset : [-128, 127]
[in]input_dimsInput (activation) dimensions. Format: [N, H, W, C_IN]
[in]filter_dimsFilter dimensions. Format: [C_OUT, HK, WK, C_IN] where HK and WK are the spatial filter dimensions
[in]output_dimsOutput tensor dimensions. Format: [N, H, W, C_OUT]
Returns
The function returns required buffer size(bytes)

◆ riscv_convolve_wrapper_s8_get_buffer_size_dsp()

int32_t riscv_convolve_wrapper_s8_get_buffer_size_dsp ( const nmsis_nn_conv_params conv_params,
const nmsis_nn_dims input_dims,
const nmsis_nn_dims filter_dims,
const nmsis_nn_dims output_dims 
)

Get the required buffer size for riscv_convolve_wrapper_s8 for processors with DSP extension. Refer to riscv_convolve_wrapper_s8_get_buffer_size() for function argument details.

Note
Intended for compilation on Host. If compiling for an Arm target, use riscv_convolve_wrapper_s8_get_buffer_size().

◆ riscv_depthwise_conv_fast_s16_get_buffer_size()

int32_t riscv_depthwise_conv_fast_s16_get_buffer_size ( const nmsis_nn_dims input_dims,
const nmsis_nn_dims filter_dims 
)

Get the required buffer size for optimized s16 depthwise convolution function with constraint that in_channel equals out_channel.

Parameters
[in]input_dimsInput (activation) tensor dimensions. Format: [1, H, W, C_IN] Batch argument N is not used.
[in]filter_dimsFilter tensor dimensions. Format: [1, H, W, C_OUT]
Returns
The function returns required buffer size in bytes

◆ riscv_depthwise_conv_fast_s16_get_buffer_size_dsp()

__STATIC_INLINE int32_t riscv_depthwise_conv_fast_s16_get_buffer_size_dsp ( const nmsis_nn_dims input_dims,
const nmsis_nn_dims filter_dims 
)

◆ riscv_depthwise_conv_s8_opt_get_buffer_size()

int32_t riscv_depthwise_conv_s8_opt_get_buffer_size ( const nmsis_nn_dims input_dims,
const nmsis_nn_dims filter_dims 
)

Get the required buffer size for optimized s8 depthwise convolution function with constraint that in_channel equals out_channel.

Parameters
[in]input_dimsInput (activation) tensor dimensions. Format: [1, H, W, C_IN] Batch argument N is not used.
[in]filter_dimsFilter tensor dimensions. Format: [1, H, W, C_OUT]
Returns
The function returns required buffer size in bytes

◆ riscv_depthwise_conv_s8_opt_get_buffer_size_dsp()

__STATIC_INLINE int32_t riscv_depthwise_conv_s8_opt_get_buffer_size_dsp ( const nmsis_nn_dims input_dims,
const nmsis_nn_dims filter_dims 
)

◆ riscv_depthwise_conv_wrapper_s16_get_buffer_size()

int32_t riscv_depthwise_conv_wrapper_s16_get_buffer_size ( const nmsis_nn_dw_conv_params dw_conv_params,
const nmsis_nn_dims input_dims,
const nmsis_nn_dims filter_dims,
const nmsis_nn_dims output_dims 
)

Get size of additional buffer required by riscv_depthwise_conv_wrapper_s16()

Parameters
[in]dw_conv_paramsDepthwise convolution parameters (e.g. strides, dilations, pads,...) Range of dw_conv_params->input_offset : Not used Range of dw_conv_params->input_offset : Not used
[in]input_dimsInput (activation) tensor dimensions. Format: [H, W, C_IN] Batch argument N is not used and assumed to be 1.
[in]filter_dimsFilter tensor dimensions. Format: [1, H, W, C_OUT]
[in]output_dimsOutput tensor dimensions. Format: [1, H, W, C_OUT]
Returns
Size of additional memory required for optimizations in bytes.

◆ riscv_depthwise_conv_wrapper_s16_get_buffer_size_dsp()

int32_t riscv_depthwise_conv_wrapper_s16_get_buffer_size_dsp ( const nmsis_nn_dw_conv_params dw_conv_params,
const nmsis_nn_dims input_dims,
const nmsis_nn_dims filter_dims,
const nmsis_nn_dims output_dims 
)

◆ riscv_depthwise_conv_wrapper_s8_get_buffer_size()

int32_t riscv_depthwise_conv_wrapper_s8_get_buffer_size ( const nmsis_nn_dw_conv_params dw_conv_params,
const nmsis_nn_dims input_dims,
const nmsis_nn_dims filter_dims,
const nmsis_nn_dims output_dims 
)

Get size of additional buffer required by riscv_depthwise_conv_wrapper_s8()

Parameters
[in]dw_conv_paramsDepthwise convolution parameters (e.g. strides, dilations, pads,...) Range of dw_conv_params->input_offset : [-127, 128] Range of dw_conv_params->input_offset : [-128, 127]
[in]input_dimsInput (activation) tensor dimensions. Format: [H, W, C_IN] Batch argument N is not used and assumed to be 1.
[in]filter_dimsFilter tensor dimensions. Format: [1, H, W, C_OUT]
[in]output_dimsOutput tensor dimensions. Format: [1, H, W, C_OUT]
Returns
Size of additional memory required for optimizations in bytes.

◆ riscv_depthwise_conv_wrapper_s8_get_buffer_size_dsp()

int32_t riscv_depthwise_conv_wrapper_s8_get_buffer_size_dsp ( const nmsis_nn_dw_conv_params dw_conv_params,
const nmsis_nn_dims input_dims,
const nmsis_nn_dims filter_dims,
const nmsis_nn_dims output_dims 
)