You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
CMSIS-DSP/Testing/bench.txt

1448 lines
43 KiB
Plaintext

group Root {
class = Root
group DSP Benchmarks {
class = DSPBenchmarks
folder = DSP
group Basic Maths {
class = BasicBenchmarks
folder = BasicMaths
suite Basic Maths Benchmarks F32 {
class = BasicMathsBenchmarksF32
folder = BasicMathsF32
ParamList {
NB
Summary NB
Names "NB Samples"
Formula "NB"
}
Pattern INPUT1_F32_ID : Input1_f32.txt
Pattern INPUT2_F32_ID : Input2_f32.txt
Output OUT_SAMPLES_F32_ID : Output
Params PARAM1_ID = {
A = [16,32,64,128,256]
}
Functions {
Elementwise multiplication:vec_mult_f32
Vector addition:vec_add_f32
Vector substraction:vec_sub_f32
Elementwise absolute value:vec_abs_f32
Elementwise negation:vec_negate_f32
Elementwise offset:vec_offset_f32
Vector scaling:vec_scale_f32
Dot product:vec_dot_f32
} -> PARAM1_ID
}
suite Basic Maths Benchmarks Q31 {
class = BasicMathsBenchmarksQ31
folder = BasicMathsQ31
ParamList {
NB
Summary NB
Names "NB Samples"
Formula "NB"
}
Pattern INPUT1_Q31_ID : Input1_q31.txt
Pattern INPUT2_Q31_ID : Input2_q31.txt
Output OUT_SAMPLES_Q31_ID : Output
Params PARAM1_ID = {
A = [16,32,64,128,256]
}
Functions {
Elementwise multiplication:vec_mult_q31
Vector addition:vec_add_q31
Vector substraction:vec_sub_q31
Elementwise absolute value:vec_abs_q31
Elementwise negation:vec_negate_q31
Elementwise offset:vec_offset_q31
Vector scaling:vec_scale_q31
Dot product:vec_dot_q31
} -> PARAM1_ID
}
suite Basic Maths Benchmarks Q15 {
class = BasicMathsBenchmarksQ15
folder = BasicMathsQ15
ParamList {
NB
Summary NB
Names "NB Samples"
Formula "NB"
}
Pattern INPUT1_Q15_ID : Input1_q15.txt
Pattern INPUT2_Q15_ID : Input2_q15.txt
Output OUT_SAMPLES_Q15_ID : Output
Params PARAM1_ID = {
A = [16,32,64,128,256]
}
Functions {
Elementwise multiplication:vec_mult_q15
Vector addition:vec_add_q15
Vector substraction:vec_sub_q15
Elementwise absolute value:vec_abs_q15
Elementwise negation:vec_negate_q15
Elementwise offset:vec_offset_q15
Vector scaling:vec_scale_q15
Dot product:vec_dot_q15
} -> PARAM1_ID
}
suite Basic Maths Benchmarks Q7 {
class = BasicMathsBenchmarksQ7
folder = BasicMathsQ7
ParamList {
NB
Summary NB
Names "NB Samples"
Formula "NB"
}
Pattern INPUT1_Q7_ID : Input1_q7.txt
Pattern INPUT2_Q7_ID : Input2_q7.txt
Output OUT_SAMPLES_Q7_ID : Output
Params PARAM1_ID = {
A = [16,32,64,128,256]
}
Functions {
Elementwise multiplication:vec_mult_q7
Vector addition:vec_add_q7
Vector substraction:vec_sub_q7
Elementwise absolute value:vec_abs_q7
Elementwise negation:vec_negate_q7
Elementwise offset:vec_offset_q7
Vector scaling:vec_scale_q7
Dot product:vec_dot_q7
} -> PARAM1_ID
}
}
group Complex Maths {
class = ComplexBenchmarks
folder = ComplexMaths
suite ComplexMaths Benchmarks F32 {
class = ComplexMathsBenchmarksF32
folder = ComplexMathsF32
ParamList {
NB
Summary NB
Names "NB Samples"
Formula "NB"
}
Pattern INPUT1_F32_ID : Input1_f32.txt
Pattern INPUT2_F32_ID : Input2_f32.txt
Pattern INPUT3_F32_ID : Input3_f32.txt
Output OUT_SAMPLES_F32_ID : Output
Params PARAM1_ID = {
A = [16,32,64,128,256]
}
Functions {
Elementwise conjugate:vec_conj_f32
Complex dot product:vec_dot_prod_f32
Elementwise modulus:vec_mag_f32
Elementwise modulus squared:vec_mag_squared_f32
Elementwise complex multiplication:vec_mult_cmplx_f32
Vector scaling by real number:vec_mult_real_f32
} -> PARAM1_ID
}
suite ComplexMaths Benchmarks Q31 {
class = ComplexMathsBenchmarksQ31
folder = ComplexMathsQ31
ParamList {
NB
Summary NB
Names "NB Samples"
Formula "NB"
}
Pattern INPUT1_Q31_ID : Input1_q31.txt
Pattern INPUT2_Q31_ID : Input2_q31.txt
Pattern INPUT3_Q31_ID : Input3_q31.txt
Output OUT_SAMPLES_Q31_ID : Output
Params PARAM1_ID = {
A = [16,32,64,128,256]
}
Functions {
Elementwise conjugate:vec_conj_q31
Complex dot product:vec_dot_prod_q31
Elementwise modulus:vec_mag_q31
Elementwise modulus squared:vec_mag_squared_q31
Elementwise complex multiplication:vec_mult_cmplx_q31
Vector scaling by real number:vec_mult_real_q31
} -> PARAM1_ID
}
suite ComplexMaths Benchmarks Q15 {
class = ComplexMathsBenchmarksQ15
folder = ComplexMathsQ15
ParamList {
NB
Summary NB
Names "NB Samples"
Formula "NB"
}
Pattern INPUT1_Q15_ID : Input1_q15.txt
Pattern INPUT2_Q15_ID : Input2_q15.txt
Pattern INPUT3_Q15_ID : Input3_q15.txt
Output OUT_SAMPLES_Q15_ID : Output
Params PARAM1_ID = {
A = [16,32,64,128,256]
}
Functions {
Elementwise conjugate:vec_conj_q15
Complex dot product:vec_dot_prod_q15
Elementwise modulus:vec_mag_q15
Elementwise modulus squared:vec_mag_squared_q15
Elementwise complex multiplication:vec_mult_cmplx_q15
Vector scaling by real number:vec_mult_real_q15
} -> PARAM1_ID
}
}
group Filtering {
class = DSPFiltering
folder = Filtering
group FIR {
class = FIR
folder = FIR
suite FIR F32 {
class = FIRF32
folder = FIRF32
ParamList {
NumTaps, NB
Summary NumTaps, NB
Names "Number of taps","Number of samples"
Formula "NumTaps * NB"
}
Pattern SAMPLES1_F32_ID : Samples1_f32.txt
Pattern REFS1_F32_ID : Refs1_f32.txt
Pattern COEFS1_F32_ID : Coefs1_f32.txt
Output OUT_SAMPLES_F32_ID : Output
Output STATE_F32_ID : State
Output ERR_F32_ID : Err
Params PARAM1_ID = {
NumTaps = [16,32,64]
NB = [64,128,256]
}
Functions {
FIR Filter:test_fir_f32
LMS Filter:test_lms_f32
Normalized LMS Filter:test_lms_norm_f32
} -> PARAM1_ID
}
suite FIR Q31 {
class = FIRQ31
folder = FIRQ31
ParamList {
NumTaps, NB
Summary NumTaps, NB
Names "Number of taps","Number of samples"
Formula "NumTaps * NB"
}
Pattern SAMPLES1_Q31_ID : Samples1_q31.txt
Pattern REFS1_Q31_ID : Refs1_q31.txt
Pattern COEFS1_Q31_ID : Coefs1_q31.txt
Output OUT_SAMPLES_Q31_ID : Output
Output STATE_Q31_ID : State
Output ERR_Q31_ID : Err
Params PARAM1_ID = {
NumTaps = [16,32,64]
NB = [64,128,256]
}
Functions {
FIR Filter:test_fir_q31
LMS Filter:test_lms_q31
Normalized LMS Filter:test_lms_norm_q31
} -> PARAM1_ID
}
suite FIR Q15 {
class = FIRQ15
folder = FIRQ15
ParamList {
NumTaps, NB
Summary NumTaps, NB
Names "Number of taps","Number of samples"
Formula "NumTaps * NB"
}
Pattern SAMPLES1_Q15_ID : Samples1_q15.txt
Pattern REFS1_Q15_ID : Refs1_q15.txt
Pattern COEFS1_Q15_ID : Coefs1_q15.txt
Output OUT_SAMPLES_Q15_ID : Output
Output STATE_Q15_ID : State
Output ERR_Q15_ID : Err
Params PARAM1_ID = {
NumTaps = [16,32,64]
NB = [64,128,256]
}
Functions {
FIR Filter:test_fir_q15
LMS Filter:test_lms_q15
Normalized LMS Filter:test_lms_norm_q15
} -> PARAM1_ID
}
}
group Convolutions / Correlations {
class = MISC
folder = MISC
suite Convolutions / Correlations F32 {
class = MISCF32
folder = MISCF32
ParamList {
NBA, NBB
Summary NBA, NBB
Names "Number of samples A,Number of samples B"
Formula "NBA * NBB"
}
Pattern INPUTSA1_F32_ID : InputsA1_f32.txt
Pattern INPUTSB1_F32_ID : InputsB1_f32.txt
Output OUT_SAMPLES_F32_ID : Output
Params PARAM1_ID = {
NBA = [9,16,64]
NBB = [9,16,128]
}
Functions {
Convolution:test_conv_f32
Correlation:test_correlate_f32
} -> PARAM1_ID
}
suite Convolutions / Correlations Q31 {
class = MISCQ31
folder = MISCQ31
ParamList {
NBA, NBB
Summary NBA, NBB
Names "Number of samples A,Number of samples B"
Formula "NBA * NBB"
}
Pattern INPUTSA1_Q31_ID : InputsA1_q31.txt
Pattern INPUTSB1_Q31_ID : InputsB1_q31.txt
Output OUT_SAMPLES_Q31_ID : Output
Params PARAM1_ID = {
NBA = [9,16,64]
NBB = [9,16,128]
}
Functions {
Convolution:test_conv_q31
Correlation:test_correlate_q31
} -> PARAM1_ID
}
suite Convolutions / Correlations Q15 {
class = MISCQ15
folder = MISCQ15
ParamList {
NBA, NBB
Summary NBA, NBB
Names "Number of samples A,Number of samples B"
Formula "NBA * NBB"
}
Pattern INPUTSA1_Q15_ID : InputsA1_q15.txt
Pattern INPUTSB1_Q15_ID : InputsB1_q15.txt
Output OUT_SAMPLES_Q15_ID : Output
Params PARAM1_ID = {
NBA = [9,16,64]
NBB = [9,16,128]
}
Functions {
Convolution:test_conv_q15
Correlation:test_correlate_q15
} -> PARAM1_ID
}
suite Convolutions / Correlations Q7 {
class = MISCQ7
folder = MISCQ7
ParamList {
NBA, NBB
Summary NBA, NBB
Names "Number of samples A,Number of samples B"
Formula "NBA * NBB"
}
Pattern INPUTSA1_Q7_ID : InputsA1_q7.txt
Pattern INPUTSB1_Q7_ID : InputsB1_q7.txt
Output OUT_SAMPLES_Q7_ID : Output
Params PARAM1_ID = {
NBA = [9,16,64]
NBB = [9,16,128]
}
Functions {
Convolution:test_conv_q7
Correlation:test_correlate_q7
} -> PARAM1_ID
}
}
group Decimations / Interpolations {
class = DECIM
folder = DECIM
suite Decimations / Interpolations F32 {
class = DECIMF32
folder = DECIMF32
ParamList {
NumTaps, NB, Factor
Summary NumTaps, NB, Factor
Names "Number of taps","Number of samples","Decimation or Interpolation factor"
Formula "NumTaps * NB * Factor"
}
Pattern SAMPLES1_F32_ID : Samples1_f32.txt
Pattern COEFS1_F32_ID : Coefs1_f32.txt
Output OUT_SAMPLES_F32_ID : Output
Output STATE_F32_ID : State
Params PARAM_DECIM_ID : Params1.txt
Params PARAM_INTERPOL_ID : Params2.txt
Functions {
Decimation:test_fir_decimate_f32 -> PARAM_DECIM_ID
Interpolation:test_fir_interpolate_f32 -> PARAM_INTERPOL_ID
}
}
suite Decimations / Interpolations Q31 {
class = DECIMQ31
folder = DECIMQ31
ParamList {
NumTaps, NB, Factor
Summary NumTaps, NB, Factor
Names "Number of taps","Number of samples","Decimation or Interpolation factor"
Formula "NumTaps * NB * Factor"
}
Pattern SAMPLES1_Q31_ID : Samples1_q31.txt
Pattern COEFS1_Q31_ID : Coefs1_q31.txt
Output OUT_SAMPLES_Q31_ID : Output
Output STATE_Q31_ID : State
Params PARAM_DECIM_ID : Params1.txt
Params PARAM_INTERPOL_ID : Params2.txt
Functions {
Decimation:test_fir_decimate_q31 -> PARAM_DECIM_ID
Interpolation:test_fir_interpolate_q31 -> PARAM_INTERPOL_ID
}
}
suite Decimations / Interpolations Q15 {
class = DECIMQ15
folder = DECIMQ15
ParamList {
NumTaps, NB, Factor
Summary NumTaps, NB, Factor
Names "Number of taps","Number of samples","Decimation or Interpolation factor"
Formula "NumTaps * NB * Factor"
}
Pattern SAMPLES1_Q15_ID : Samples1_q15.txt
Pattern COEFS1_Q15_ID : Coefs1_q15.txt
Output OUT_SAMPLES_Q15_ID : Output
Output STATE_Q15_ID : State
Params PARAM_DECIM_ID : Params1.txt
Params PARAM_INTERPOL_ID : Params2.txt
Functions {
Decimation:test_fir_decimate_q15 -> PARAM_DECIM_ID
Interpolation:test_fir_interpolate_q15 -> PARAM_INTERPOL_ID
}
}
}
group BiQuads {
class = BIQUAD
folder = BIQUAD
suite BiQuads F32 {
class = BIQUADF32
folder = BIQUADF32
ParamList {
NumStages, NB
Summary NumStages, NB
Names "Number of stages","Number of samples"
Formula "NumStages * NB"
}
Pattern SAMPLES1_F32_ID : Samples1_f32.txt
Pattern COEFS1_F32_ID : Coefs1_f32.txt
Output OUT_SAMPLES_F32_ID : Output
Output STATE_F32_ID : State
Output NEON_COEFS_F32_ID : NeonCoefs
Params PARAM1_ID = {
NumStages = [1,2,4]
NB = [16,128,256]
}
Functions {
Cascaded BiQuad Filter DF1:test_biquad_cascade_df1_f32
Cascaded BiQuad Filter DF2T:test_biquad_cascade_df2T_f32
Cascaded BiQuad Filter Stereo DF2T:test_biquad_cascade_stereo_df2T_f32
} -> PARAM1_ID
}
suite BiQuads F64 {
class = BIQUADF64
folder = BIQUADF64
ParamList {
NumStages, NB
Summary NumStages, NB
Names "Number of stages","Number of samples"
Formula "NumStages * NB"
}
Pattern SAMPLES1_F64_ID : Samples1_f64.txt
Pattern COEFS1_F64_ID : Coefs1_f64.txt
Output OUT_SAMPLES_F64_ID : Output
Output STATE_F64_ID : State
Params PARAM1_ID = {
NumStages = [1,2,4]
NB = [16,128,256]
}
Functions {
Cascaded BiQuad Filter DF2T_f64:test_biquad_cascade_df2T_f64
} -> PARAM1_ID
}
}
}
group Controller {
class = Controller
folder = Controller
suite Controller F32 {
class = ControllerF32
folder = ControllerF32
ParamList {
NB
Summary NB
Names "Number of samples"
Formula "NB"
}
Pattern SAMPLES_F32_ID : Samples1_f32.txt
Output OUT_SAMPLES_F32_ID : Output
Params PARAM1_ID = {
NB = [64,128,256]
}
Functions {
PID:test_pid_f32
Clarke Transform:test_clarke_f32
Inverse Clarke Transform:test_inv_clarke_f32
Park Transform:test_park_f32
Inverse Park Transform:test_inv_park_f32
Sin Cos:test_sin_cos_f32
} -> PARAM1_ID
}
suite Controller Q31 {
class = ControllerQ31
folder = ControllerQ31
ParamList {
NB
Summary NB
Names "Number of samples"
Formula "NB"
}
Pattern SAMPLES_Q31_ID : Samples1_q31.txt
Output OUT_SAMPLES_Q31_ID : Output
Params PARAM1_ID = {
NB = [64,128,256]
}
Functions {
PID:test_pid_q31
Clarke Transform:test_clarke_q31
Inverse Clarke Transform:test_inv_clarke_q31
Park Transform:test_park_q31
Inverse Park Transform:test_inv_park_q31
Sin Cos:test_sin_cos_q31
} -> PARAM1_ID
}
suite Controller Q15 {
class = ControllerQ15
folder = ControllerQ15
ParamList {
NB
Summary NB
Names "Number of samples"
Formula "NB"
}
Pattern SAMPLES_Q15_ID : Samples1_q15.txt
Output OUT_SAMPLES_Q15_ID : Output
Params PARAM1_ID = {
NB = [64,128,256]
}
Functions {
PID:test_pid_q15
} -> PARAM1_ID
}
}
group Fast Maths {
class = FastMath
folder = FastMath
suite Fast Maths F32 {
class = FastMathF32
folder = FastMathF32
ParamList {
NB
Summary NB
Names "Number of samples"
Formula "NB"
}
Pattern SAMPLES_F32_ID : Samples1_f32.txt
Output OUT_SAMPLES_F32_ID : Output
Params PARAM1_ID = {
NB = [64,128,256]
}
Functions {
Cosine:test_cos_f32
Sine:test_sin_f32
Square Root:test_sqrt_f32
} -> PARAM1_ID
}
suite Fast Maths Q31 {
class = FastMathQ31
folder = FastMathQ31
ParamList {
NB
Summary NB
Names "Number of samples"
Formula "NB"
}
Pattern SAMPLES_Q31_ID : Samples1_q31.txt
Output OUT_SAMPLES_Q31_ID : Output
Params PARAM1_ID = {
NB = [64,128,256]
}
Functions {
Cosine:test_cos_q31
Sine:test_sin_q31
Square Root:test_sqrt_q31
} -> PARAM1_ID
}
suite Fast Maths Q15 {
class = FastMathQ15
folder = FastMathQ15
ParamList {
NB
Summary NB
Names "Number of samples"
Formula "NB"
}
Pattern SAMPLES_Q15_ID : Samples1_q15.txt
Output OUT_SAMPLES_Q15_ID : Output
Params PARAM1_ID = {
NB = [64,128,256]
}
Functions {
Cosine:test_cos_q15
Sine:test_sin_q15
Square Root:test_sqrt_q15
} -> PARAM1_ID
}
}
group Barycenter {
class = Barycenter
suite Barycenter {
class = SupportBarF32
folder = SupportBarF32
ParamList {
NB,VECDIM
Summary NB,VECDIM
Names "Number of samples","Vector dimension"
Formula "NB*VECDIM"
}
Pattern SAMPLES_F32_ID : Samples1_f32.txt
Pattern COEFS_F32_ID : Coefs1_f32.txt
Output OUT_SAMPLES_F32_ID : Output
Params PARAM1_ID = {
NB = [16,64,128]
VECDIM = [5,10,15]
}
Functions {
Barycenter:test_barycenter_f32
} -> PARAM1_ID
}
}
group Support Functions {
class = Support
folder = Support
suite Support Functions F32 {
class = SupportF32
folder = SupportF32
ParamList {
NB
Summary NB
Names "Number of samples"
Formula "NB"
}
Pattern SAMPLES_F32_ID : Samples1_f32.txt
Pattern SAMPLES_Q15_ID : Samples3_q15.txt
Pattern SAMPLES_Q31_ID : Samples4_q31.txt
Pattern SAMPLES_Q7_ID : Samples5_q7.txt
Pattern INPUTS6_F32_ID : Inputs6_f32.txt
Pattern WEIGHTS6_F32_ID : Weights6_f32.txt
Pattern REF6_F32_ID : Ref6_f32.txt
Output OUT_SAMPLES_F32_ID : Output
Params PARAM1_ID = {
NB = [64,128,256]
}
Functions {
test_copy_f32:test_copy_f32
test_fill_f32:test_fill_f32
test_q15_to_f32:test_q15_to_f32
test_q31_to_f32:test_q31_to_f32
test_q7_to_f32:test_q7_to_f32
test_weighted_sum_f32:test_weighted_sum_f32
} -> PARAM1_ID
}
suite Support Functions Q31 {
class = SupportQ31
folder = SupportQ31
ParamList {
NB
Summary NB
Names "Number of samples"
Formula "NB"
}
Pattern SAMPLES_Q31_ID : Samples4_q31.txt
Pattern SAMPLES_Q15_ID : Samples3_q15.txt
Pattern SAMPLES_Q7_ID : Samples5_q7.txt
Output OUT_SAMPLES_Q31_ID : Output
Params PARAM1_ID = {
NB = [64,128,256]
}
Functions {
Vector Copy:test_copy_q31
Vector Filling:test_fill_q31
Elementwise q15 to q31:test_q15_to_q31
Elementwise q7 to q31:test_q7_to_q31
} -> PARAM1_ID
}
suite Support Functions Q15 {
class = SupportQ15
folder = SupportQ15
ParamList {
NB
Summary NB
Names "Number of samples"
Formula "NB"
}
Pattern SAMPLES_Q15_ID : Samples3_q15.txt
Pattern SAMPLES_Q31_ID : Samples4_q31.txt
Pattern SAMPLES_Q7_ID : Samples5_q7.txt
Output OUT_SAMPLES_Q15_ID : Output
Params PARAM1_ID = {
NB = [64,128,256]
}
Functions {
Vector Copy:test_copy_q15
Vector Filling:test_fill_q15
Elementwise q31 to q15:test_q31_to_q15
Elementwise q7 to q15:test_q7_to_q15
} -> PARAM1_ID
}
suite Support Functions Q7 {
class = SupportQ7
folder = SupportQ7
ParamList {
NB
Summary NB
Names "Number of samples"
Formula "NB"
}
Pattern SAMPLES_Q7_ID : Samples5_q7.txt
Pattern SAMPLES_Q31_ID : Samples4_q31.txt
Pattern SAMPLES_Q15_ID : Samples3_q15.txt
Output OUT_SAMPLES_Q7_ID : Output
Params PARAM1_ID = {
NB = [64,128,256]
}
Functions {
Vector Copy:test_copy_q7
Vector Filling:test_fill_q7
Elementwise q31 to q7:test_q31_to_q7
Elementwise q15 to q7:test_q15_to_q7
} -> PARAM1_ID
}
}
group Matrix {
class = Matrix
folder = Matrix
group Matrix Operators with one matrix size {
class = Unary
folder = Unary
suite Unary Matrix Operators F32 {
class = UnaryF32
folder = UnaryF32
ParamList {
NBR,NBC
Summary NBR,NBC
Names "Number of rows","Number of columns"
Formula "NBR*NBC"
}
Pattern INPUTA_F32_ID : InputA1_f32.txt
Output OUT_F32_ID : Output
Params PARAM1_ID = {
NBR = [5,10,40]
NBC = [5,10,40]
}
Functions {
Matrix Scaling:test_mat_scale_f32
Matrix Inversion:test_mat_inverse_f32
Matrix Transpose:test_mat_trans_f32
Matrix Addition:test_mat_add_f32
Matrix Substraction:test_mat_sub_f32
} -> PARAM1_ID
}
suite Unary Matrix Operators Q31 {
class = UnaryQ31
folder = UnaryQ31
ParamList {
NBR,NBC
Summary NBR,NBC
Names "Number of rows","Number of columns"
Formula "NBR*NBC"
}
Pattern INPUTA_Q31_ID : InputA1_q31.txt
Output OUT_Q31_ID : Output
Params PARAM1_ID = {
NBR = [5,10,40]
NBC = [5,10,40]
}
Functions {
Matrix Scaling:test_mat_scale_q31
Matrix Transpose:test_mat_trans_q31
Matrix Addition:test_mat_add_q31
Matrix Substraction:test_mat_sub_q31
} -> PARAM1_ID
}
suite Unary Matrix Operators Q15 {
class = UnaryQ15
folder = UnaryQ15
ParamList {
NBR,NBC
Summary NBR,NBC
Names "Number of rows","Number of columns"
Formula "NBR*NBC"
}
Pattern INPUTA_Q15_ID : InputA1_q15.txt
Output OUT_Q15_ID : Output
Params PARAM1_ID = {
NBR = [5,10,40]
NBC = [5,10,40]
}
Functions {
Matrix Scaling:test_mat_scale_q15
Matrix Transpose:test_mat_trans_q15
Matrix Addition:test_mat_add_q15
Matrix Substraction:test_mat_sub_q15
} -> PARAM1_ID
}
suite Unary Matrix Operators F64 {
class = UnaryF64
folder = UnaryF64
ParamList {
NBR,NBC
Summary NBR,NBC
Names "Number of rows","Number of columns"
Formula "NBR*NBC"
}
Pattern INPUTA_F64_ID : InputA1_f64.txt
Output OUT_F64_ID : Output
Params PARAM1_ID = {
NBR = [5,10,40]
NBC = [5,10,40]
}
Functions {
Matrix Inversion:test_mat_inverse_f64
} -> PARAM1_ID
}
}
group Matrix Operators with two matrix sizes {
class = Binary
folder = Binary
suite Binary Matrix Operators F32 {
class = BinaryF32
folder = BinaryF32
ParamList {
NBR,NBI,NBC
Summary NBR,NBI,NBC
Names "Number of rows","Inner dimensions","Number of columns"
Formula "NBR*NBI*NBC"
}
Pattern INPUTA_F32_ID : InputA1_f32.txt
Pattern INPUTB_F32_ID : InputB1_f32.txt
Pattern INPUTAC_F32_ID : InputAC1_f32.txt
Pattern INPUTBC_F32_ID : InputBC1_f32.txt
Output OUT_F32_ID : Output
Params PARAM1_ID = {
NBR = [5,10,40]
NBI = [5,10,40]
NBC = [5,10,40]
}
Functions {
Matrix Multiplication:test_mat_mult_f32
Complex Matrix Multiplication:test_mat_cmplx_mult_f32
} -> PARAM1_ID
}
suite Binary Matrix Operators Q31 {
class = BinaryQ31
folder = BinaryQ31
ParamList {
NBR,NBI,NBC
Summary NBR,NBI,NBC
Names "Number of rows","Inner dimensions","Number of columns"
Formula "NBR*NBI*NBC"
}
Pattern INPUTA_Q31_ID : InputA1_q31.txt
Pattern INPUTB_Q31_ID : InputB1_q31.txt
Pattern INPUTAC_Q31_ID : InputAC1_q31.txt
Pattern INPUTBC_Q31_ID : InputBC1_q31.txt
Output OUT_Q31_ID : Output
Params PARAM1_ID = {
NBR = [5,10,40]
NBI = [5,10,40]
NBC = [5,10,40]
}
Functions {
Matrix Multiplication:test_mat_mult_q31
Complex Matrix Multiplication:test_mat_cmplx_mult_q31
Fast Matrix Multiplication:test_mat_mult_fast_q31
} -> PARAM1_ID
}
suite Binary Matrix Operators Q15 {
class = BinaryQ15
folder = BinaryQ15
ParamList {
NBR,NBI,NBC
Summary NBR,NBI,NBC
Names "Number of rows","Inner dimensions","Number of columns"
Formula "NBR*NBI*NBC"
}
Pattern INPUTA_Q15_ID : InputA1_q15.txt
Pattern INPUTB_Q15_ID : InputB1_q15.txt
Pattern INPUTAC_Q15_ID : InputAC1_q15.txt
Pattern INPUTBC_Q15_ID : InputBC1_q15.txt
Output OUT_Q15_ID : Output
Params PARAM1_ID = {
NBR = [5,10,40]
NBI = [5,10,40]
NBC = [5,10,40]
}
Functions {
Matrix Multiplication:test_mat_mult_q15
Complex Matrix Multiplication:test_mat_cmplx_mult_q15
Fast Matrix Multiplication:test_mat_mult_fast_q15
} -> PARAM1_ID
}
}
}
group Spectral Transformations {
class = Transform
folder = Transform
suite Spectral Transformations F32 {
class = TransformF32
folder = TransformF32
ParamList {
NB,IFFT,BITREV
Summary NB
Names "Number of samples,Inverse FFT, Bit Reversal"
Formula "I(NB*log2(NB))"
}
Pattern INPUTR_F32_ID : RealInputSamples19_f32.txt
Pattern INPUTC_F32_ID : ComplexInputSamples_Noisy_512_6_f32.txt
Output OUT_F32_ID : Output
Output STATE_F32_ID : Output
Params CFFT_PARAM_ID = {
NB = [64,128,256]
IFFT = [0,1]
REV = [0,1]
}
Params CFFT4_PARAM_ID = {
NB = [16,64,256]
IFFT = [0,1]
REV = [0,1]
}
Params RFFT_PARAM_ID = {
NB = [64,128,256]
IFFT = [0,1]
REV = [1]
}
Params DCT_PARAM_ID = {
NB = [128,512,2048]
IFFT = [0]
REV = [1]
}
Functions {
Complex FFT:test_cfft_f32 -> CFFT_PARAM_ID
Real FFT:test_rfft_f32 -> RFFT_PARAM_ID
DCT4:test_dct4_f32 -> DCT_PARAM_ID
Radix 4 Complex FFT:test_cfft_radix4_f32 -> CFFT4_PARAM_ID
Radix 2 Complex FFT:test_cfft_radix2_f32 -> CFFT_PARAM_ID
}
}
suite Spectral Transformations Q31 {
class = TransformQ31
folder = TransformQ31
ParamList {
NB,IFFT,BITREV
Summary NB
Names "Number of samples,Inverse FFT, Bit Reversal"
Formula "I(NB*log2(NB))"
}
Pattern INPUTR_Q31_ID : RealInputSamples19_q31.txt
Pattern INPUTC_Q31_ID : ComplexInputSamples_Noisy_512_6_q31.txt
Output OUT_Q31_ID : Output
Output STATE_Q31_ID : Output
Params CFFT_PARAM_ID = {
NB = [64,128,256]
IFFT = [0,1]
REV = [0,1]
}
Params CFFT4_PARAM_ID = {
NB = [16,64,256]
IFFT = [0,1]
REV = [0,1]
}
Params RFFT_PARAM_ID = {
NB = [64,128,256]
IFFT = [0,1]
REV = [0,1]
}
Params DCT_PARAM_ID = {
NB = [128,512,2048]
IFFT = [0]
REV = [1]
}
Functions {
Complex FFT:test_cfft_q31 -> CFFT_PARAM_ID
Real FFT:test_rfft_q31 -> RFFT_PARAM_ID
DCT4:test_dct4_q31 -> DCT_PARAM_ID
Radix 4 Complex FFT:test_cfft_radix4_q31 -> CFFT4_PARAM_ID
Radix 2 Complex FFT:test_cfft_radix2_q31 -> CFFT_PARAM_ID
}
}
suite Spectral Transformations Q15 {
class = TransformQ15
folder = TransformQ15
ParamList {
NB,IFFT,BITREV
Summary NB
Names "Number of samples,Inverse FFT, Bit Reversal"
Formula "I(NB*log2(NB))"
}
Pattern INPUTR_Q15_ID : RealInputSamples19_q15.txt
Pattern INPUTC_Q15_ID : ComplexInputSamples_Noisy_512_6_q15.txt
Output OUT_Q15_ID : Output
Output STATE_Q15_ID : Output
Params CFFT_PARAM_ID = {
NB = [64,128,256]
IFFT = [0,1]
REV = [0,1]
}
Params CFFT4_PARAM_ID = {
NB = [16,64,256]
IFFT = [0,1]
REV = [0,1]
}
Params RFFT_PARAM_ID = {
NB = [64,128,256]
IFFT = [0,1]
REV = [1]
}
Params DCT_PARAM_ID = {
NB = [128,512,2048]
IFFT = [0]
REV = [1]
}
Functions {
Complex FFT:test_cfft_q15 -> CFFT_PARAM_ID
Real FFT:test_rfft_q15 -> RFFT_PARAM_ID
DCT4:test_dct4_q15 -> DCT_PARAM_ID
Radix 4 Complex FFT:test_cfft_radix4_q15 -> CFFT4_PARAM_ID
Radix 2 Complex FFT:test_cfft_radix2_q15 -> CFFT_PARAM_ID
}
}
}
}
group NN Benchmarks
{
class = NNBenchmarks
folder = NN
suite Fully Connected Benchmarks {
class = FullyConnectedBench
folder = FullyConnected
ParamList {
NB
Summary NB
Names "Repetition"
Formula "NB"
}
Pattern INPUT13_S8_ID : TestCase_8_8_5_input_13.txt
Pattern BIAS13_S8_ID : TestCase_8_8_5_bias_13.txt
Pattern WEIGHT13_S8_ID : TestCase_8_8_5_weights_13.txt
Pattern REF13_S8_ID : TestCase_8_8_5_output_13.txt
Output OUTPUT_S8_ID : Output
Output TEMP_S16_ID : Temp
Params PARAM1_ID = {
NB = [10,20,40,50]
}
Functions {
arm_fully_connected_tflite_s8:test_fully_connected_tflite_s8 -> PARAM1_ID
}
}
suite Pooling Benchmarks {
class = PoolingBench
folder = Pooling
ParamList {
NB
Summary NB
Names "Repetition"
Formula "NB"
}
Pattern INPUT1_S8_ID : Input1.txt
Pattern REF1_S8_ID : Ref1.txt
Output OUTPUT_S8_ID : Output
Output TEMP_S8_ID : Temp
Output TEMPINPUT_S8_ID : TempInput
Params PARAM1_ID = {
NB = [1]
}
Functions {
arm_avgpool_s8 Test 1:test_avgpool_s8 -> PARAM1_ID
}
}
}
group Compiler Benchmarks {
class = CompilerBenchmarks
folder = DSP
group Micro Benchmarks {
class = MicroBenchmarks
folder = BasicMaths
suite MicroBenchmarksF32 {
class = MicroBenchmarksF32
folder = BasicMathsF32
ParamList {
NB
Summary NB
Names "NB Samples"
Formula "NB"
}
Pattern INPUT1_F32_ID : Input1_f32.txt
Pattern INPUT2_F32_ID : Input2_f32.txt
Output OUT_SAMPLES_F32_ID : Output
Params PARAM1_ID = {
A = [16,32,64,128,256]
}
Functions {
While loop:test_while_f32
For loop:test_for_f32
For loop and array:test_array_f32
} -> PARAM1_ID
}
suite MicroBenchmarksQ31 {
class = MicroBenchmarksQ31
folder = BasicMathsQ31
ParamList {
NB
Summary NB
Names "NB Samples"
Formula "NB"
}
Pattern INPUT1_Q31_ID : Input1_q31.txt
Pattern INPUT2_Q31_ID : Input2_q31.txt
Output OUT_SAMPLES_Q31_ID : Output
Params PARAM1_ID = {
A = [16,32,64,128,256]
}
Functions {
While loop:test_while_q31
For loop:test_for_q31
For loop and array:test_array_q31
} -> PARAM1_ID
}
suite MicroBenchmarksQ15 {
class = MicroBenchmarksQ15
folder = BasicMathsQ15
ParamList {
NB
Summary NB
Names "NB Samples"
Formula "NB"
}
Pattern INPUT1_Q15_ID : Input1_q15.txt
Pattern INPUT2_Q15_ID : Input2_q15.txt
Output OUT_SAMPLES_Q15_ID : Output
Params PARAM1_ID = {
A = [16,32,64,128,256]
}
Functions {
While loop:test_while_q15
For loop:test_for_q15
For loop and array:test_array_q15
} -> PARAM1_ID
}
suite MicroBenchmarksQ7 {
class = MicroBenchmarksQ7
folder = BasicMathsQ7
ParamList {
NB
Summary NB
Names "NB Samples"
Formula "NB"
}
Pattern INPUT1_Q7_ID : Input1_q7.txt
Pattern INPUT2_Q7_ID : Input2_q7.txt
Output OUT_SAMPLES_Q7_ID : Output
Params PARAM1_ID = {
A = [16,32,64,128,256]
}
Functions {
While loop:test_while_q7
For loop:test_for_q7
For loop and array:test_array_q7
} -> PARAM1_ID
}
}
}
}