23 #ifndef C7120_MMALIB_TYPES_H_
24 #define C7120_MMALIB_TYPES_H_ 1
35 #include <c7x_scalable.h>
43 extern const c7x::uchar_vec MMALIB_vperm_convolve_col_scale_No_1;
44 extern const c7x::uchar_vec MMALIB_vperm_convolve_col_scale_No_2;
45 extern const c7x::uchar_vec MMALIB_vperm_convolve_col_scale_No_3;
46 extern const c7x::uchar_vec MMALIB_vperm_convolve_col_scale_No_4;
47 extern const c7x::uchar_vec MMALIB_vperm_convolve_col_scale_No_5;
48 extern const c7x::uchar_vec MMALIB_vperm_convolve_col_scale_No_6;
49 extern const c7x::uchar_vec MMALIB_vperm_convolve_col_scale_No_7;
52 extern const c7x::uchar_vec MMALIB_vperm_convolve_col_biasVec0_32bit_No_1;
53 extern const c7x::uchar_vec MMALIB_vperm_convolve_col_biasVec1_32bit_No_1;
55 extern const c7x::uchar_vec MMALIB_vperm_convolve_col_biasVec0_32bit_No_2;
56 extern const c7x::uchar_vec MMALIB_vperm_convolve_col_biasVec1_32bit_No_2;
58 extern const c7x::uchar_vec MMALIB_vperm_convolve_col_biasVec0_32bit_No_3;
59 extern const c7x::uchar_vec MMALIB_vperm_convolve_col_biasVec1_32bit_No_3;
61 extern const c7x::uchar_vec MMALIB_vperm_convolve_col_biasVec0_32bit_No_4;
62 extern const c7x::uchar_vec MMALIB_vperm_convolve_col_biasVec1_32bit_No_4;
64 extern const c7x::uchar_vec MMALIB_vperm_convolve_col_biasVec0_32bit_No_5;
65 extern const c7x::uchar_vec MMALIB_vperm_convolve_col_biasVec1_32bit_No_5;
67 extern const c7x::uchar_vec MMALIB_vperm_convolve_col_biasVec0_32bit_No_6;
68 extern const c7x::uchar_vec MMALIB_vperm_convolve_col_biasVec1_32bit_No_6;
70 extern const c7x::uchar_vec MMALIB_vperm_convolve_col_biasVec0_32bit_No_7;
71 extern const c7x::uchar_vec MMALIB_vperm_convolve_col_biasVec1_32bit_No_7;
74 extern const c7x::uchar_vec MMALIB_vperm_convolve_col_biasVec0_64bit_No_1;
75 extern const c7x::uchar_vec MMALIB_vperm_convolve_col_biasVec1_64bit_No_1;
77 extern const c7x::uchar_vec MMALIB_vperm_convolve_col_biasVec0_64bit_No_2;
78 extern const c7x::uchar_vec MMALIB_vperm_convolve_col_biasVec1_64bit_No_2;
80 extern const c7x::uchar_vec MMALIB_vperm_convolve_col_biasVec0_64bit_No_3;
81 extern const c7x::uchar_vec MMALIB_vperm_convolve_col_biasVec1_64bit_No_3;
84 extern const c7x::uchar_vec MMALIB_vperm_convolve_col_splitGroups_scale_No_1;
85 extern const c7x::uchar_vec MMALIB_vperm_convolve_col_splitGroups_scale_No_2;
86 extern const c7x::uchar_vec MMALIB_vperm_convolve_col_splitGroups_scale_No_3;
87 extern const c7x::uchar_vec MMALIB_vperm_convolve_col_splitGroups_scale_No_4;
88 extern const c7x::uchar_vec MMALIB_vperm_convolve_col_splitGroups_scale_No_5;
89 extern const c7x::uchar_vec MMALIB_vperm_convolve_col_splitGroups_scale_No_6;
90 extern const c7x::uchar_vec MMALIB_vperm_convolve_col_splitGroups_scale_No_7;
93 extern const c7x::uchar_vec MMALIB_vperm_convolve_col_splitGroups_biasVec0_32bit_No_1;
94 extern const c7x::uchar_vec MMALIB_vperm_convolve_col_splitGroups_biasVec1_32bit_No_1;
96 extern const c7x::uchar_vec MMALIB_vperm_convolve_col_splitGroups_biasVec0_32bit_No_2;
97 extern const c7x::uchar_vec MMALIB_vperm_convolve_col_splitGroups_biasVec1_32bit_No_2;
99 extern const c7x::uchar_vec MMALIB_vperm_convolve_col_splitGroups_biasVec0_32bit_No_3;
100 extern const c7x::uchar_vec MMALIB_vperm_convolve_col_splitGroups_biasVec1_32bit_No_3;
102 extern const c7x::uchar_vec MMALIB_vperm_convolve_col_splitGroups_biasVec0_32bit_No_4;
103 extern const c7x::uchar_vec MMALIB_vperm_convolve_col_splitGroups_biasVec1_32bit_No_4;
105 extern const c7x::uchar_vec MMALIB_vperm_convolve_col_splitGroups_biasVec0_32bit_No_5;
106 extern const c7x::uchar_vec MMALIB_vperm_convolve_col_splitGroups_biasVec1_32bit_No_5;
108 extern const c7x::uchar_vec MMALIB_vperm_convolve_col_splitGroups_biasVec0_32bit_No_6;
109 extern const c7x::uchar_vec MMALIB_vperm_convolve_col_splitGroups_biasVec1_32bit_No_6;
111 extern const c7x::uchar_vec MMALIB_vperm_convolve_col_splitGroups_biasVec0_32bit_No_7;
112 extern const c7x::uchar_vec MMALIB_vperm_convolve_col_splitGroups_biasVec1_32bit_No_7;
115 extern const c7x::uchar_vec MMALIB_vperm_convolve_col_splitGroups_biasVec0_64bit_No_1;
116 extern const c7x::uchar_vec MMALIB_vperm_convolve_col_splitGroups_biasVec1_64bit_No_1;
118 extern const c7x::uchar_vec MMALIB_vperm_convolve_col_splitGroups_biasVec0_64bit_No_2;
119 extern const c7x::uchar_vec MMALIB_vperm_convolve_col_splitGroups_biasVec1_64bit_No_2;
121 extern const c7x::uchar_vec MMALIB_vperm_convolve_col_splitGroups_biasVec0_64bit_No_3;
122 extern const c7x::uchar_vec MMALIB_vperm_convolve_col_splitGroups_biasVec1_64bit_No_3;
179 #define MMALIB_ILUT_SUPPORT 0
180 #define MMALIB_ILUT_NUM_BYTES 0
189 #define MMALIB_CALC_STRIDE(BYTES, ALIGN_SHIFT) \
190 (((((BYTES)-1) >> (ALIGN_SHIFT)) + 1) << (ALIGN_SHIFT))
193 #define MMALIB_MMA_SIZE_8_BIT_SHIFT 6
194 #define MMALIB_MMA_SIZE_16_BIT_SHIFT 5
195 #define MMALIB_MMA_SIZE_32_BIT_SHIFT 4
MMALIB_enableDynamicRange_type_e
The enumeration of possible dynamic range enable settings.
MMALIB_enableDynamicRange_type_e MMALIB_enableDynamicRange_type
Type for enableDynamicRange variables.
MMALIB_initDynamicRange_type_e MMALIB_initDynamicRange_type
Type for initDynamicRange variables.
MMALIB_activation_type_e MMALIB_activation_type
MMALIB_initDynamicRange_type_e
The enumeration of possible dynamic range reset options.
MMALIB_quantMethod_type_e MMALIB_quantMethod_type
Type for initDynamicRange variables.
MMALIB_quantMethod_type_e
The enumeration of possible quantization methods.
MMALIB_activation_type_e
The enumeration of possible activation operations on the computation.
@ MMALIB_DYNAMIC_RANGE_ENABLE
Enable dynamic range computation.
@ MMALIB_DYNAMIC_RANGE_DISABLE
Disable dynamic range computation.
@ MMALIB_DYNAMIC_RANGE_NOINIT
Do not reset dynamic range min/max at start of computation.
@ MMALIB_DYNAMIC_RANGE_INIT
Reset dynamic range min/max at start of computation.
@ MMALIB_QUANT_PER_CHANNEL
@ MMALIB_QUANT_PER_KERNEL
@ MMALIB_PSAT
Return result after parameterized saturation.
@ MMALIB_SATURATION
Return result after saturating.
@ MMALIB_NONE
Return result as-is (allow wrapping)
@ MMALIB_RELU
Return result after applying ReLU operation.
@ MMALIB_ROUNDING
Return result after rounding.