DSPLIB User Guide
Common definitions

Introduction

This module consists of definitions (macros, structures, utility functions) that are commonly applicable to all DSPLIB kernels.

File to hold buffer parameter related info for DSPLIB.

Version
0.1 - Jan 2018 : Initial Version

Data Structures

struct  DSPLIB_bufParams1D_t
 A structure for a 1 dimensional buffer descriptor. More...
 
struct  DSPLIB_bufParams2D_t
 A structure for a 2 dimensional buffer descriptor. More...
 
struct  DSPLIB_bufParams3D_t
 A structure for a 3 dimensional buffer descriptor. More...
 
struct  DSPLIB_bufParamsND_t
 A structure for a N dimensional buffer descriptor. More...
 

Functions

static int32_t DSPLIB_sizeof (uint32_t type)
 Inline function returns number of bytes per element given a type of DSPLIB_data_type_e. More...
 

Typedefs

typedef double DSPLIB_D64
 Double precision floating point. More...
 
typedef float DSPLIB_F32
 Single precision floating point. More...
 
typedef DSPLIB_STATUS_NAME DSPLIB_STATUS
 Return value for DSPLIB functions. More...
 
typedef void * DSPLIB_kernelHandle
 Handle type for DSPLIB operations. More...
 
typedef DSPLIB_tensor_format_e DSPLIB_tensor_format
 

Enumerations

enum  DSPLIB_data_type_e {
  DSPLIB_INT8 = 0, DSPLIB_INT16 = 1, DSPLIB_INT32 = 2, DSPLIB_INT64 = 3,
  DSPLIB_INT128 = 4, DSPLIB_UINT8 = 5, DSPLIB_UINT16 = 6, DSPLIB_UINT24 = 7,
  DSPLIB_UINT32 = 8, DSPLIB_UINT64 = 9, DSPLIB_UINT128 = 10, DSPLIB_FLOAT16 = 11,
  DSPLIB_FLOAT32 = 12, DSPLIB_FLOAT64 = 13
}
 The enumeration of all data types. More...
 
enum  DSPLIB_dimension_e {
  DSPLIB_2D = 0, DSPLIB_3D = 1, DSPLIB_4D = 2, DSPLIB_5D = 3,
  DSPLIB_6D = 4
}
 The enumeration of multidimensional buffer types. More...
 
enum  DSPLIB_STATUS_NAME {
  DSPLIB_SUCCESS = 0, DSPLIB_ERR_FAILURE = 1, DSPLIB_ERR_INVALID_VALUE = 2, DSPLIB_ERR_INVALID_TYPE = 3,
  DSPLIB_ERR_INVALID_DIMENSION = 4, DSPLIB_ERR_NULL_POINTER = 5, DSPLIB_ERR_NOT_IMPLEMENTED = 6, DSPLIB_ERR_NOT_EQUAL_WIDTH_STRIDE = 7,
  DSPLIB_ERR_NOT_ALIGNED_PTRS_STRIDES = 8, DSPLIB_ERR_NOT_ALIGNED_WIDTHS = 9, DSPLIB_ERR_BUFFER_TOO_SMALL = 10, DSPLIB_ERR_INVALID_ACTIVATION = 11,
  DSPLIB_ERR_INVALID_SHIFT = 12, DSPLIB_ERROR_MAX = 13, DSPLIB_ERR_CONVOLVE_ROW_INVALID_INCHOFFSET_CIRCULAR = 1000, DSPLIB_ERR_CONVOLVE_ROW_UNSUPPORTED_STRIDE = 1001,
  DSPLIB_ERR_CONVOLVE_ROW_UNSUPPORTED_TYPE_COMBINATION = 1002, DSPLIB_ERR_CONVOLVE_ROW_INVALID_PTR_STRIDE = 1003, DSPLIB_ERR_CONVOLVE_ROW_INVALID_SUBMCHANNELS_STRIDE = 1004, DSPLIB_ERR_CONVOLVE_ROW_INVALID_SUBMCHANNELS = 1005,
  DSPLIB_ERR_CONVOLVE_ROW_INVALID_BUFFER_DIMENSION = 1006, DSPLIB_ERR_CONVOLVE_ROW_INVALID_ROWS_STRIDE = 1007, DSPLIB_ERR_CONVOLVE_ROW_INVALID_INITARGS = 1008, DSPLIB_ERR_CONVOLVE_ROW_INVALID_VALIDCOLSIN = 1009,
  DSPLIB_ERR_CONVOLVE_ROW_INVALID_NUM_GROUPS_PER_KERNEL = 1010, DSPLIB_ERR_CONVOLVE_ROW_INVALID_NUM_OUTPUT_CHANNELS_PER_GROUP = 1011, DSPLIB_ERR_CONVOLVE_ROW_INVALID_NUM_GROUPS_PER_KERNEL_STRIDED = 1012, DSPLIB_ERR_CONVOLVE_COL_INVALID_SHIFTMETHOD = 2000,
  DSPLIB_ERR_CONVOLVE_COL_INVALID_SHIFTVALUES = 2001, DSPLIB_ERR_CONVOLVE_COL_INVALID_PAD_VALUES = 2002, DSPLIB_ERR_CONVOLVE_COL_INVALID_NUMBIASVALS = 2003, DSPLIB_ERR_CONVOLVE_COL_INVALID_BIASBVALUES = 2004,
  DSPLIB_ERR_CONVOLVE_COL_INVALID_BIASB_TYPE = 2005, DSPLIB_ERR_CONVOLVE_COL_UNSUPPORTED_INPUT_FEATURE_MAP_TYPE = 2006, DSPLIB_ERR_CONVOLVE_COL_UNSUPPORTED_WEIGHTS_TYPE = 2007, DSPLIB_ERR_CONVOLVE_COL_UNSUPPORTED_WEIGHTS_DIMENSION = 2008,
  DSPLIB_ERR_CONVOLVE_COL_UNSUPPORTED_OUTPUT_FEATURE_MAP_TYPE = 2009, DSPLIB_ERR_CONVOLVE_COL_UNSUPPORTED_TYPE_COMBINATION = 2010, DSPLIB_ERR_CONVOLVE_COL_UNSUPPORTED_STRIDE = 2011, DSPLIB_ERR_CONVOLVE_COL_UNSUPPORTED_GROUPING = 2012,
  DSPLIB_ERR_CONVOLVE_COL_INVALID_CASE = 2013, DSPLIB_ERR_DECONVOLVE_ROW_INVALID_KERNEL_SIZE = 3000, DSPLIB_ERR_DECONVOLVE_ROW_INVALID_STRIDE = 3001, DSPLIB_ERR_DECONVOLVE_ROW_INVALID_DILATION = 3002,
  DSPLIB_ERR_DECONVOLVE_ROW_INVALID_PAD = 3003, DSPLIB_ERR_DECONVOLVE_ROW_INVALID_INIT_ARGS = 3004, DSPLIB_ERR_DECONVOLVE_ROW_INVALID_BUFFER_DIMENSION_WEIGHTS = 3005, DSPLIB_ERR_DECONVOLVE_ROW_INVALID_SUBMCHANNELS = 3006,
  DSPLIB_ERR_DECONVOLVE_ROW_INVALID_BUFFER_SIZES = 3007, DSPLIB_ERR_FULLYCONNECTED_INVALID_TYPE_COMBINATION = 4000, DSPLIB_ERR_FULLYCONNECTED_INVALID_DIMENSION_COMBINATION = 4001, DSPLIB_ERR_FULLYCONNECTED_INVALID_TYPE_RELU_COMBINATION = 4002,
  DSPLIB_ERR_PIXELSHUFFLE_ROW_INVALID_INCHOFFSET_CIRCULAR = 5000, DSPLIB_ERR_PIXELSHUFFLE_ROW_UNSUPPORTED_STRIDE = 5001, DSPLIB_ERR_PIXELSHUFFLE_ROW_UNSUPPORTED_TYPE_COMBINATION = 5002, DSPLIB_ERR_PIXELSHUFFLE_ROW_INVALID_PTR_STRIDE = 5003,
  DSPLIB_ERR_PIXELSHUFFLE_ROW_INVALID_SUBMCHANNELS_STRIDE = 5004, DSPLIB_ERR_PIXELSHUFFLE_ROW_INVALID_SUBMCHANNELS = 5005, DSPLIB_ERR_PIXELSHUFFLE_ROW_INVALID_BUFFER_DIMENSION = 5006, DSPLIB_ERR_PIXELSHUFFLE_ROW_INVALID_ROWS_STRIDE = 5007,
  DSPLIB_ERR_PIXELSHUFFLE_ROW_INVALID_INITARGS = 5008, DSPLIB_ERR_PIXELSHUFFLE_ROW_INVALID_VALIDCOLSIN = 5009, DSPLIB_ERR_PIXELSHUFFLE_ROW_INVALID_UPSCALE_FACTOR = 5010, DSPLIB_ERR_TENSOR_CONVERT_INVALID_TYPE_COMBINATION = 6000,
  DSPLIB_ERR_TENSOR_CONVERT_INVALID_DIMENSION_COMBINATION = 6001, DSPLIB_ERR_TENSOR_CONVERT_UNSUPPORTED_TYPE_COMBINATION = 6002, DSPLIB_ERR_TENSOR_CONVERT_UNSUPPORTED_CHANNEL_DIMENSION = 6003, DSPLIB_ERR_TENSOR_CONVERT_UNSUPPORTED_CONVRSION_FORMAT = 6004,
  DSPLIB_ERR_TENSOR_CONVERT_UNSUPPORTED_PAD_DIMENSION = 6005, DSPLIB_ERR_MATRIX_MATRIX_MULTIPLY_UNSUPPORTED_INPUT_TYPE = 10000, DSPLIB_ERR_MATRIX_MATRIX_MULTIPLY_UNSUPPORTED_OUTPUT_TYPE = 10001, DSPLIB_ERR_MATRIX_MATRIX_MULTIPLY_UNSUPPORTED_TYPE_COMBINATION = 10002,
  DSPLIB_ERR_MATRIX_MATRIX_MULTIPLY_ACCUMULATE_UNSUPPORTED_INPUT_TYPE = 11000, DSPLIB_ERR_MATRIX_MATRIX_MULTIPLY_ACCUMULATE_UNSUPPORTED_OUTPUT_TYPE = 11001, DSPLIB_ERR_MATRIX_MATRIX_MULTIPLY_ACCUMULATE_UNSUPPORTED_TYPE_COMBINATION = 11002, DSPLIB_ERR_MATRIX_TRANSPOSE_UNSUPPORTED_INPUT_TYPE = 12000,
  DSPLIB_ERR_MATRIX_TRANSPOSE_UNSUPPORTED_OUTPUT_TYPE = 12001, DSPLIB_ERR_MATRIX_TRANSPOSE_UNSUPPORTED_TYPE_COMBINATION = 12002, DSPLIB_ERR_POINTWISE_MATRIX_MATRIX_MULTIPLY_UNSUPPORTED_INPUT_TYPE = 13000, DSPLIB_ERR_POINTWISE_MATRIX_MATRIX_MULTIPLY_UNSUPPORTED_OUTPUT_TYPE = 13001,
  DSPLIB_ERR_POINTWISE_MATRIX_MATRIX_MULTIPLY_UNSUPPORTED_TYPE_COMBINATION = 13002
}
 The enumeration of all status codes. More...
 
enum  DSPLIB_FUNCTION_STYLE { DSPLIB_FUNCTION_NATC = 0, DSPLIB_FUNCTION_OPTIMIZED, DSPLIB_FUNCTION_MAX = 128 }
 Enumeration for the style of function implementation. More...
 
enum  DSPLIB_buffer_mode_e { DSPLIB_LINEAR = 0, DSPLIB_SE_CIRCULAR, DSPLIB_BUF_CIRCULAR }
 Buffer structure for input feature maps and coefficients of DSPLIB_CNN_convolve_row_ixX_ixX_oxX. More...
 
enum  DSPLIB_tensor_format_e { DSPLIB_CHW = 0, DSPLIB_HWC }
 Tensor format. More...
 

Macros

#define DSPLIB_ISSIGNED(type)   ((type) < DSPLIB_UINT8 || (type) > DSPLIB_UINT128)
 
#define DSPLIB_SIGNEDNESS(type)   (DSPLIB_ISSIGNED((type)) ? "signed" : "unsigned")
 
#define DSPLIB_PARAM_SIZE   128
 Parameter structure size in bytes. More...
 
#define DSPLIB_MMA_ACCUMULATOR_BYTE_WIDTH_8_BIT   4
 MMA accumulator width in bytes for 8 bit output data width. More...
 
#define DSPLIB_MMA_ACCUMULATOR_BYTE_WIDTH_16_BIT   8
 MMA accumulator width in bytes for 16 bit output data width. More...
 
#define DSPLIB_MMA_ACCUMULATOR_BYTE_WIDTH_32_BIT   16
 MMA accumulator width in bytes for 32 bit output data width. More...
 
#define DSPLIB_ALIGN_SHIFT_64BYTES   6
 Number of bits to shift for 64-byte memory alignment. More...
 
#define DSPLIB_ALIGN_SHIFT_128BYTES   7
 Number of bits to shift for 128-byte memory alignment. More...
 
#define DSPLIB_ALIGN_SHIFT_256BYTES   8
 Number of bits to shift for 256-byte memory alignment. More...
 
#define DSPLIB_ALIGN_64BYTES   (1 << DSPLIB_ALIGN_SHIFT_64BYTES)
 Align by 64-byte memory alignment. More...
 
#define DSPLIB_ALIGN_128BYTES   (1 << DSPLIB_ALIGN_SHIFT_128BYTES)
 Align by 128-byte memory alignment. More...
 
#define DSPLIB_ALIGN_256BYTES   (1 << DSPLIB_ALIGN_SHIFT_256BYTES)
 Align by 256-byte memory alignment. More...
 
#define DSPLIB_L2DATA_ALIGN_SHIFT   DSPLIB_ALIGN_SHIFT_64BYTES
 Set the default L2 data alignment. More...
 
#define DSPLIB_L2DATA_ALIGNMENT   (((uint32_t)1) << ((uint32_t)DSPLIB_L2DATA_ALIGN_SHIFT))
 Macro that specifies the alignment of data buffers in L2 memory for optimal performance. More...
 

Macro Definition Documentation

◆ DSPLIB_ISSIGNED

#define DSPLIB_ISSIGNED (   type)    ((type) < DSPLIB_UINT8 || (type) > DSPLIB_UINT128)

Definition at line 69 of file DSPLIB_bufParams.h.

◆ DSPLIB_SIGNEDNESS

#define DSPLIB_SIGNEDNESS (   type)    (DSPLIB_ISSIGNED((type)) ? "signed" : "unsigned")

Definition at line 70 of file DSPLIB_bufParams.h.

◆ DSPLIB_PARAM_SIZE

#define DSPLIB_PARAM_SIZE   128

Parameter structure size in bytes.

Definition at line 309 of file DSPLIB_types.h.

◆ DSPLIB_MMA_ACCUMULATOR_BYTE_WIDTH_8_BIT

#define DSPLIB_MMA_ACCUMULATOR_BYTE_WIDTH_8_BIT   4

MMA accumulator width in bytes for 8 bit output data width.

Definition at line 311 of file DSPLIB_types.h.

◆ DSPLIB_MMA_ACCUMULATOR_BYTE_WIDTH_16_BIT

#define DSPLIB_MMA_ACCUMULATOR_BYTE_WIDTH_16_BIT   8

MMA accumulator width in bytes for 16 bit output data width.

Definition at line 312 of file DSPLIB_types.h.

◆ DSPLIB_MMA_ACCUMULATOR_BYTE_WIDTH_32_BIT

#define DSPLIB_MMA_ACCUMULATOR_BYTE_WIDTH_32_BIT   16

MMA accumulator width in bytes for 32 bit output data width.

Definition at line 313 of file DSPLIB_types.h.

◆ DSPLIB_ALIGN_SHIFT_64BYTES

#define DSPLIB_ALIGN_SHIFT_64BYTES   6

Number of bits to shift for 64-byte memory alignment.

Definition at line 322 of file DSPLIB_types.h.

◆ DSPLIB_ALIGN_SHIFT_128BYTES

#define DSPLIB_ALIGN_SHIFT_128BYTES   7

Number of bits to shift for 128-byte memory alignment.

Definition at line 324 of file DSPLIB_types.h.

◆ DSPLIB_ALIGN_SHIFT_256BYTES

#define DSPLIB_ALIGN_SHIFT_256BYTES   8

Number of bits to shift for 256-byte memory alignment.

Definition at line 326 of file DSPLIB_types.h.

◆ DSPLIB_ALIGN_64BYTES

#define DSPLIB_ALIGN_64BYTES   (1 << DSPLIB_ALIGN_SHIFT_64BYTES)

Align by 64-byte memory alignment.

Definition at line 329 of file DSPLIB_types.h.

◆ DSPLIB_ALIGN_128BYTES

#define DSPLIB_ALIGN_128BYTES   (1 << DSPLIB_ALIGN_SHIFT_128BYTES)

Align by 128-byte memory alignment.

Definition at line 331 of file DSPLIB_types.h.

◆ DSPLIB_ALIGN_256BYTES

#define DSPLIB_ALIGN_256BYTES   (1 << DSPLIB_ALIGN_SHIFT_256BYTES)

Align by 256-byte memory alignment.

Definition at line 333 of file DSPLIB_types.h.

◆ DSPLIB_L2DATA_ALIGN_SHIFT

#define DSPLIB_L2DATA_ALIGN_SHIFT   DSPLIB_ALIGN_SHIFT_64BYTES

Set the default L2 data alignment.

Definition at line 336 of file DSPLIB_types.h.

◆ DSPLIB_L2DATA_ALIGNMENT

#define DSPLIB_L2DATA_ALIGNMENT   (((uint32_t)1) << ((uint32_t)DSPLIB_L2DATA_ALIGN_SHIFT))

Macro that specifies the alignment of data buffers in L2 memory for optimal performance.

Definition at line 341 of file DSPLIB_types.h.

Typedef Documentation

◆ DSPLIB_D64

typedef double DSPLIB_D64

Double precision floating point.

Definition at line 169 of file DSPLIB_types.h.

◆ DSPLIB_F32

typedef float DSPLIB_F32

Single precision floating point.

Definition at line 170 of file DSPLIB_types.h.

◆ DSPLIB_STATUS

Return value for DSPLIB functions.

Definition at line 274 of file DSPLIB_types.h.

◆ DSPLIB_kernelHandle

typedef void* DSPLIB_kernelHandle

Handle type for DSPLIB operations.

Definition at line 276 of file DSPLIB_types.h.

◆ DSPLIB_tensor_format

Definition at line 301 of file DSPLIB_types.h.

Enumeration Type Documentation

◆ DSPLIB_data_type_e

The enumeration of all data types.

Enumerator
DSPLIB_INT8 

Signed 8-bit integer

DSPLIB_INT16 

Signed 16-bit integer

DSPLIB_INT32 

Signed 32-bit integer

DSPLIB_INT64 

Signed 64-bit integer

DSPLIB_INT128 

Signed 128-bit integer

DSPLIB_UINT8 

Unsigned 8-bit integer

DSPLIB_UINT16 

Unsigned 16-bit integer

DSPLIB_UINT24 

Unsigned 24-bit integer

DSPLIB_UINT32 

Unsigned 32-bit integer

DSPLIB_UINT64 

Unsigned 64-bit integer

DSPLIB_UINT128 

Unsigned 128-bit integer

DSPLIB_FLOAT16 

16-bit floating point number

DSPLIB_FLOAT32 

32-bit floating point number

DSPLIB_FLOAT64 

64-bit floating point number

Definition at line 40 of file DSPLIB_bufParams.h.

◆ DSPLIB_dimension_e

The enumeration of multidimensional buffer types.

Enumerator
DSPLIB_2D 

Two dimensional buffer

DSPLIB_3D 

Three dimensional buffer

DSPLIB_4D 

Four dimensional buffer

DSPLIB_5D 

Five dimensional buffer

DSPLIB_6D 

Six dimensional buffer

Definition at line 73 of file DSPLIB_bufParams.h.

◆ DSPLIB_STATUS_NAME

The enumeration of all status codes.

Enumerator
DSPLIB_SUCCESS 

0 => No error

DSPLIB_ERR_FAILURE 

1 => Unspecified error

DSPLIB_ERR_INVALID_VALUE 

2 => Invalid parameter value

DSPLIB_ERR_INVALID_TYPE 

3 => Invalid parameter type (DSPLIB_data_type_e data_type)

DSPLIB_ERR_INVALID_DIMENSION 

4 => Dimension parameter (width/height) is too big/small

DSPLIB_ERR_NULL_POINTER 

5 => Unsupported null pointer condition

DSPLIB_ERR_NOT_IMPLEMENTED 

6 => Parameter configuration is not supported/implemented

DSPLIB_ERR_NOT_EQUAL_WIDTH_STRIDE 

7 => Stride should be equal to width * element size

DSPLIB_ERR_NOT_ALIGNED_PTRS_STRIDES 

8 => Pointers and stride values are not aligned to documented value

DSPLIB_ERR_NOT_ALIGNED_WIDTHS 

9 => Width values are not aligned to documented value

DSPLIB_ERR_BUFFER_TOO_SMALL 

10 => Buffer size not large enough

DSPLIB_ERR_INVALID_ACTIVATION 

11 => Activation selection incompatible with data type

DSPLIB_ERR_INVALID_SHIFT 

12 => Requested shift amount is not valid

DSPLIB_ERROR_MAX 
DSPLIB_ERR_CONVOLVE_ROW_INVALID_INCHOFFSET_CIRCULAR 

1000 => Invalid InChOffset value

DSPLIB_ERR_CONVOLVE_ROW_UNSUPPORTED_STRIDE 

1001 => Unsupported stride value

DSPLIB_ERR_CONVOLVE_ROW_UNSUPPORTED_TYPE_COMBINATION 

1002 => Unsupported combination of weights, input and output data types

DSPLIB_ERR_CONVOLVE_ROW_INVALID_PTR_STRIDE 

1003 => Invalid pointer stride

DSPLIB_ERR_CONVOLVE_ROW_INVALID_SUBMCHANNELS_STRIDE 

1004 => Invalid subMChannels strided

DSPLIB_ERR_CONVOLVE_ROW_INVALID_SUBMCHANNELS 

1005 => Invalid subMChannels and MChannels combination

DSPLIB_ERR_CONVOLVE_ROW_INVALID_BUFFER_DIMENSION 

1006 => Invalid buffer dimension

DSPLIB_ERR_CONVOLVE_ROW_INVALID_ROWS_STRIDE 

1007 => Invalid Valid RowsIn Strided

DSPLIB_ERR_CONVOLVE_ROW_INVALID_INITARGS 

1008 => inWidth, validColsIn, inChOffset, Fc, Fr, dilationX, dilationY, strideX, strideY, or maxHeight

DSPLIB_ERR_CONVOLVE_ROW_INVALID_VALIDCOLSIN 

1009 => Invalid Valid ColsIn

DSPLIB_ERR_CONVOLVE_ROW_INVALID_NUM_GROUPS_PER_KERNEL 

1010 => Invalid numGroupsPerKernel

DSPLIB_ERR_CONVOLVE_ROW_INVALID_NUM_OUTPUT_CHANNELS_PER_GROUP 

1011 => Invalid number of output channels per group

DSPLIB_ERR_CONVOLVE_ROW_INVALID_NUM_GROUPS_PER_KERNEL_STRIDED 

1012 => Invalid numGroupsPerKernel strided convolution

DSPLIB_ERR_CONVOLVE_COL_INVALID_SHIFTMETHOD 

2000 => Invalid shiftMethod selected

DSPLIB_ERR_CONVOLVE_COL_INVALID_SHIFTVALUES 

2001 => Invalid shiftValues pointer in combination with shiftMethod value

DSPLIB_ERR_CONVOLVE_COL_INVALID_PAD_VALUES 

2002 => Invalid combination of pad values

DSPLIB_ERR_CONVOLVE_COL_INVALID_NUMBIASVALS 

2003 => Invalid selection for numBiasVals, note combination restrictions with shiftMethod

DSPLIB_ERR_CONVOLVE_COL_INVALID_BIASBVALUES 

2004 => Invalid biasBValues pointer in combination with shiftMethod value

DSPLIB_ERR_CONVOLVE_COL_INVALID_BIASB_TYPE 

2005 => Invalid biasB data type, check that it matches input feature map type

DSPLIB_ERR_CONVOLVE_COL_UNSUPPORTED_INPUT_FEATURE_MAP_TYPE 

2006 => Unsupported input feature map data type

DSPLIB_ERR_CONVOLVE_COL_UNSUPPORTED_WEIGHTS_TYPE 

2007 => Unsupported filter weights data type

DSPLIB_ERR_CONVOLVE_COL_UNSUPPORTED_WEIGHTS_DIMENSION 

2008 => Unsupported filter weights dimension

DSPLIB_ERR_CONVOLVE_COL_UNSUPPORTED_OUTPUT_FEATURE_MAP_TYPE 

2009 => Unsupported output feature map data type

DSPLIB_ERR_CONVOLVE_COL_UNSUPPORTED_TYPE_COMBINATION 

2010 => Unsupported combination of weights, input and output data types

DSPLIB_ERR_CONVOLVE_COL_UNSUPPORTED_STRIDE 

2011 => Unsupported stride value

DSPLIB_ERR_CONVOLVE_COL_UNSUPPORTED_GROUPING 

2012 => Unsupported input/output feature map grouping

DSPLIB_ERR_CONVOLVE_COL_INVALID_CASE 

2013 => Unexpected error related to problem geometry

DSPLIB_ERR_DECONVOLVE_ROW_INVALID_KERNEL_SIZE 

3000 => Invalid kernel size, widht or height

DSPLIB_ERR_DECONVOLVE_ROW_INVALID_STRIDE 

3001 => Invalid stride values

DSPLIB_ERR_DECONVOLVE_ROW_INVALID_DILATION 

3002 => Invalid dilation values

DSPLIB_ERR_DECONVOLVE_ROW_INVALID_PAD 

3003 => Invalid pad value

DSPLIB_ERR_DECONVOLVE_ROW_INVALID_INIT_ARGS 

3004 => Invalid init args

DSPLIB_ERR_DECONVOLVE_ROW_INVALID_BUFFER_DIMENSION_WEIGHTS 

3005 => Invalid buffer dim for weights

DSPLIB_ERR_DECONVOLVE_ROW_INVALID_SUBMCHANNELS 

3006 => Invalid subMChannels and MChannels combination

DSPLIB_ERR_DECONVOLVE_ROW_INVALID_BUFFER_SIZES 

3007 => Invalid buffer size

DSPLIB_ERR_FULLYCONNECTED_INVALID_TYPE_COMBINATION 

4000 => Invalid datatype combination

DSPLIB_ERR_FULLYCONNECTED_INVALID_DIMENSION_COMBINATION 

4001 => Invalid dimension combination

DSPLIB_ERR_FULLYCONNECTED_INVALID_TYPE_RELU_COMBINATION 

4002 => Invalid type and ReLU combination

DSPLIB_ERR_PIXELSHUFFLE_ROW_INVALID_INCHOFFSET_CIRCULAR 

5000 => Invalid InChOffset value

DSPLIB_ERR_PIXELSHUFFLE_ROW_UNSUPPORTED_STRIDE 

5001 => Unsupported stride value

DSPLIB_ERR_PIXELSHUFFLE_ROW_UNSUPPORTED_TYPE_COMBINATION 

5002 => Unsupported combination of weights, input and output data types

DSPLIB_ERR_PIXELSHUFFLE_ROW_INVALID_PTR_STRIDE 

5003 => Invalid pointer stride

DSPLIB_ERR_PIXELSHUFFLE_ROW_INVALID_SUBMCHANNELS_STRIDE 

5004 => Invalid subMChannels strided

DSPLIB_ERR_PIXELSHUFFLE_ROW_INVALID_SUBMCHANNELS 

5005 => Invalid subMChannels and MChannels combination

DSPLIB_ERR_PIXELSHUFFLE_ROW_INVALID_BUFFER_DIMENSION 

5006 => Invalid buffer dimension

DSPLIB_ERR_PIXELSHUFFLE_ROW_INVALID_ROWS_STRIDE 

5007 => Invalid Valid RowsIn Strided

DSPLIB_ERR_PIXELSHUFFLE_ROW_INVALID_INITARGS 

5008 => inWidth, validColsIn, inChOffset, Fc, Fr, dilationX, dilationY, strideX, strideY, or maxHeight

DSPLIB_ERR_PIXELSHUFFLE_ROW_INVALID_VALIDCOLSIN 

5009 => Invalid Valid ColsIn

DSPLIB_ERR_PIXELSHUFFLE_ROW_INVALID_UPSCALE_FACTOR 

5010 => Invalid upscale factor

DSPLIB_ERR_TENSOR_CONVERT_INVALID_TYPE_COMBINATION 

6000 => Invalid datatype combination

DSPLIB_ERR_TENSOR_CONVERT_INVALID_DIMENSION_COMBINATION 

6001 => Invalid dimension combination

DSPLIB_ERR_TENSOR_CONVERT_UNSUPPORTED_TYPE_COMBINATION 

6002 => Unsupported dimension combination

DSPLIB_ERR_TENSOR_CONVERT_UNSUPPORTED_CHANNEL_DIMENSION 

6003 => Unsupported channel dimension

DSPLIB_ERR_TENSOR_CONVERT_UNSUPPORTED_CONVRSION_FORMAT 

6004 => Unsupported conversion format

DSPLIB_ERR_TENSOR_CONVERT_UNSUPPORTED_PAD_DIMENSION 

6005 => Unsupported pad dimension

DSPLIB_ERR_MATRIX_MATRIX_MULTIPLY_UNSUPPORTED_INPUT_TYPE 

10000 => Unsupported input data type

DSPLIB_ERR_MATRIX_MATRIX_MULTIPLY_UNSUPPORTED_OUTPUT_TYPE 

10001 => Unsupported output data type

DSPLIB_ERR_MATRIX_MATRIX_MULTIPLY_UNSUPPORTED_TYPE_COMBINATION 

10002 => Unsupported combination of input and output data type

DSPLIB_ERR_MATRIX_MATRIX_MULTIPLY_ACCUMULATE_UNSUPPORTED_INPUT_TYPE 

11000 => Unsupported input data type

DSPLIB_ERR_MATRIX_MATRIX_MULTIPLY_ACCUMULATE_UNSUPPORTED_OUTPUT_TYPE 

11001 => Unsupported output data type

DSPLIB_ERR_MATRIX_MATRIX_MULTIPLY_ACCUMULATE_UNSUPPORTED_TYPE_COMBINATION 

11002 => Unsupported combination of input and output data type

DSPLIB_ERR_MATRIX_TRANSPOSE_UNSUPPORTED_INPUT_TYPE 

12000 => Unsupported input data type

DSPLIB_ERR_MATRIX_TRANSPOSE_UNSUPPORTED_OUTPUT_TYPE 

12001 => Unsupported output data type

DSPLIB_ERR_MATRIX_TRANSPOSE_UNSUPPORTED_TYPE_COMBINATION 

12002 => Unsupported combination of input and output data type

DSPLIB_ERR_POINTWISE_MATRIX_MATRIX_MULTIPLY_UNSUPPORTED_INPUT_TYPE 

13000 => Unsupported input data type

DSPLIB_ERR_POINTWISE_MATRIX_MATRIX_MULTIPLY_UNSUPPORTED_OUTPUT_TYPE 

13001 => Unsupported output data type

DSPLIB_ERR_POINTWISE_MATRIX_MATRIX_MULTIPLY_UNSUPPORTED_TYPE_COMBINATION 

13002 => Unsupported combination of input and output data type

Definition at line 173 of file DSPLIB_types.h.

◆ DSPLIB_FUNCTION_STYLE

Enumeration for the style of function implementation.

Enumerator
DSPLIB_FUNCTION_NATC 

Natural C implementation of the function

DSPLIB_FUNCTION_OPTIMIZED 

Optimized C implementation of the function for the MMA + C7x architecture

DSPLIB_FUNCTION_MAX 

Definition at line 279 of file DSPLIB_types.h.

◆ DSPLIB_buffer_mode_e

Buffer structure for input feature maps and coefficients of DSPLIB_CNN_convolve_row_ixX_ixX_oxX.

Enumerator
DSPLIB_LINEAR 

Linear buffer.

DSPLIB_SE_CIRCULAR 

Circular buffer for input feature map managed by streaming engine

DSPLIB_BUF_CIRCULAR 

Circular buffer for coefficients.

Definition at line 288 of file DSPLIB_types.h.

◆ DSPLIB_tensor_format_e

Tensor format.

Enumerator
DSPLIB_CHW 

Used when tensor is in NCHW format.

DSPLIB_HWC 

Used when tensor is in NHWC format.

Definition at line 296 of file DSPLIB_types.h.

Function Documentation

◆ DSPLIB_sizeof()

static int32_t DSPLIB_sizeof ( uint32_t  type)
inlinestatic

Inline function returns number of bytes per element given a type of DSPLIB_data_type_e.

Definition at line 145 of file DSPLIB_bufParams.h.