group Root { class = Root group DSP Benchmarks { class = DSPBenchmarks folder = DSP group Statistics Benchmarks { class = Stats folder = Stats suite Statistics Benchmarks F32 { class = StatsF32 folder = StatsF32 ParamList { NB Summary NB Names "NB Samples" Formula "NB" } Pattern INPUT1_F32_ID : InputBench1_f32.txt Pattern INPUT2_F32_ID : InputBench2_f32.txt Output OUT_F32_ID : Output Output OUT_S16_ID : Index Output TMP_F32_ID : Temp Params PARAM1_ID = { A = [16,32,64,128,256] } Functions { Vector maximum:test_max_f32 Vector average:test_mean_f32 Vector minimum:test_min_f32 Vector energy:test_power_f32 Vector root mean square:test_rms_f32 Vector standard deviation:test_std_f32 Vector variance:test_var_f32 Entropy:test_entropy_f32 Vector logsumexp:test_logsumexp_f32 Kullback Leibler divergence:test_kullback_leibler_f32 Vector logsumexp dot product:test_logsumexp_dot_prod_f32 Vector max with no index:test_max_no_idx_f32 Vector absolute maximum:test_absmax_f32 Vector absolute minimum:test_absmin_f32 } -> PARAM1_ID } suite Statistics Benchmarks F64 { class = StatsF64 folder = StatsF64 ParamList { NB Summary NB Names "NB Samples" Formula "NB" } Pattern INPUT1_F64_ID : InputBench1_f64.txt Pattern INPUT2_F64_ID : InputBench2_f64.txt Output OUT_F64_ID : Output Output OUT_S16_ID : Index Output TMP_F64_ID : Temp Params PARAM1_ID = { A = [16,32,64,128,256] } Functions { Entropy:test_entropy_f64 Kullback Leibler divergence:test_kullback_leibler_f64 } -> PARAM1_ID } suite Statistics Benchmarks Q31 { class = StatsQ31 folder = StatsQ31 ParamList { NB Summary NB Names "NB Samples" Formula "NB" } Pattern INPUT1_Q31_ID : InputBench1_q31.txt Pattern INPUT2_Q31_ID : InputBench2_q31.txt Output OUT_Q31_ID : Output Output OUT_Q63_ID : Output Output OUT_S16_ID : Index Output TMP_Q31_ID : Temp Params PARAM1_ID = { A = [16,32,64,128,256] } Functions { Vector maximum:test_max_q31 Vector average:test_mean_q31 Vector minimum:test_min_q31 Vector energy:test_power_q31 Vector root mean square:test_rms_q31 Vector standard deviation:test_std_q31 Vector variance:test_var_q31 Vector absolute maximum:test_absmax_q31 Vector absolute minimum:test_absmin_q31 } -> PARAM1_ID } suite Statistics Benchmarks Q15 { class = StatsQ15 folder = StatsQ15 ParamList { NB Summary NB Names "NB Samples" Formula "NB" } Pattern INPUT1_Q15_ID : InputBench1_q15.txt Pattern INPUT2_Q15_ID : InputBench2_q15.txt Output OUT_Q15_ID : Output Output OUT_Q63_ID : Output Output OUT_S16_ID : Index Output TMP_Q15_ID : Temp Params PARAM1_ID = { A = [16,32,64,128,256] } Functions { Vector maximum:test_max_q15 Vector average:test_mean_q15 Vector minimum:test_min_q15 Vector energy:test_power_q15 Vector root mean square:test_rms_q15 Vector standard deviation:test_std_q15 Vector variance:test_var_q15 Vector absolute maximum:test_absmax_q15 Vector absolute minimum:test_absmin_q15 } -> PARAM1_ID } suite Statistics Benchmarks Q7 { class = StatsQ7 folder = StatsQ7 ParamList { NB Summary NB Names "NB Samples" Formula "NB" } Pattern INPUT1_Q7_ID : InputBench1_q7.txt Pattern INPUT2_Q7_ID : InputBench2_q7.txt Output OUT_Q7_ID : Output Output OUT_Q31_ID : Output Output OUT_S16_ID : Index Output TMP_Q7_ID : Temp Params PARAM1_ID = { A = [16,32,64,128,256] } Functions { Vector maximum:test_max_q7 Vector average:test_mean_q7 Vector minimum:test_min_q7 Vector energy:test_power_q7 Vector absolute maximum:test_absmax_q7 Vector absolute minimum:test_absmin_q7 } -> PARAM1_ID } } 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 Quaternion Maths { class = QuaternionBenchmarks folder = QuaternionMaths suite Quaternion Maths Benchmarks F32 { class = QuaternionMathsBenchmarksF32 folder = QuaternionMathsF32 ParamList { NB Summary NB Names "NB Samples" Formula "NB" } Pattern INPUT1_F32_ID : Input1_f32.txt Pattern INPUT2_F32_ID : Input2_f32.txt Pattern INPUT_ROT_F32_ID : Input7_f32.txt Output OUT_SAMPLES_F32_ID : Output Params PARAM1_ID = { A = [16,32,64,128] } Functions { Quaternion Norm:test_quaternion_norm_f32 Quaternion inverse:test_quaternion_inverse_f32 Quaternion conjugate:test_quaternion_conjugate_f32 Quaternion normalization:test_quaternion_normalize_f32 Quaternion product:test_quaternion_prod_single_f32 Quaternion Elementwise product:test_quaternion_product_f32 Quaternion to rotation:test_quaternion2rotation_f32 Rotation to quaternion:test_rotation2quaternion_f32 } -> 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 } suite FIR Q7 { class = FIRQ7 folder = FIRQ7 ParamList { NumTaps, NB Summary NumTaps, NB Names "Number of taps","Number of samples" Formula "NumTaps * NB" } Pattern SAMPLES1_Q7_ID : Samples1_q7.txt Pattern REFS1_Q7_ID : Refs1_q7.txt Pattern COEFS1_Q7_ID : Coefs1_q7.txt Output OUT_SAMPLES_Q7_ID : Output Output STATE_Q7_ID : State Output ERR_Q7_ID : Err Params PARAM1_ID = { NumTaps = [16,32,64] NB = [64,128,256] } Functions { FIR Filter:test_fir_q7 } -> 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: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 Bayes{ class = Bayes folder = Bayes suite Bayes F32 { class = BayesF32 folder = BayesF32 ParamList { VECDIM,NBCLASSES Summary VECDIM,NBCLASSES Names "Vector dimension","Number of classes" Formula "VECDIM*NBCLASSES" } Pattern DIMS2_S16_ID : DimsBench2_s16.txt Pattern INPUTS2_F32_ID : Inputs2_f32.txt Pattern PARAMS2_F32_ID : Params2_f32.txt Pattern PREDICTS2_S16_ID : Predicts2_s16.txt Output OUT_PROBA_F32_ID : Probas Output OUT_PREDICT_S16_ID : Predicts // Must be consistent with the Python script Params PARAM1_ID = { VECDIM = [12,14,20] NBCLASSES = [3,5,4] } Functions { Naive Gaussian Bayes Predictor:test_gaussian_naive_bayes_predict_f32 } -> PARAM1_ID } } group Distance { class = Distance folder = Distance suite Distance F32 { class = DistanceF32 folder = DistanceF32 ParamList { NB Summary NB Names "NB Samples" Formula "NB" } Pattern INPUTA_F32_ID : InputBenchA1_f32.txt Pattern INPUTB_F32_ID : InputBenchB1_f32.txt Pattern INPUTA_PROBA_F32_ID : InputBenchProbaA1_f32.txt Pattern INPUTB_PROBA_F32_ID : InputBenchProbaB1_f32.txt Output TMPA_F32_ID : TmpA Output TMPB_F32_ID : TmpB Params PARAM1_ID = { NB = [16,32,64,128,256] } Functions { Bray Curtis distance:test_braycurtis_distance_f32 Canberra distance:test_canberra_distance_f32 Chebyshev distance:test_chebyshev_distance_f32 Cityblock distance:test_cityblock_distance_f32 Correlation distance:test_correlation_distance_f32 Cosine distance:test_cosine_distance_f32 Euclidean distance:test_euclidean_distance_f32 Jensen Shannon distance:test_jensenshannon_distance_f32 Minkowski distance:test_minkowski_distance_f32 } -> PARAM1_ID } suite Distance U32 { class = DistanceU32 folder = DistanceU32 ParamList { NB Summary NB Names "NB Bits" Formula "NB" } Pattern INPUTA_U32_ID : InputBenchA1_u32.txt Pattern INPUTB_U32_ID : InputBenchB1_u32.txt Params PARAM1_ID = { NB = [512, 1024, 2048, 4096, 8192] } Functions { Dice distance:test_dice_distance_u32 Hamming distance:test_hamming_distance_u32 Jaccard distance:test_jaccard_distance_u32 Kulsinski distance:test_kulsinski_distance_u32 Roger Stanimoto distance:test_rogerstanimoto_distance_u32 Russell Rao distance:test_russellrao_distance_u32 Sokal Michener distance:test_sokalmichener_distance_u32 Sokal Sneath distance:test_sokalsneath_distance_u32 Yule distance:test_yule_distance_u32 } -> PARAM1_ID } } group SVM { class = SVM folder = SVM suite SVM F32 { class = SVMF32 folder = SVMF32 ParamList { VECDIM,NBVECS Summary VECDIM,NBVECS Names "Vector dimension","Number of suppot vectors" Formula "VECDIM*NBVECS" } Pattern INPUT_F32_ID : InputsBench6_f32.txt Pattern DIMS_LINEAR_S16_ID : DimsLinear6_s16.txt Pattern PARAMS_LINEAR_F32_ID : ParamsLinear6_f32.txt Pattern DIMS_POLY_S16_ID : DimsPoly6_s16.txt Pattern PARAMS_POLY_F32_ID : ParamsPoly6_f32.txt Pattern DIMS_RBF_S16_ID : DimsRBF6_s16.txt Pattern PARAMS_RBF_F32_ID : ParamsRBF6_f32.txt Pattern DIMS_SIGMOID_S16_ID : DimsSigmoid6_s16.txt Pattern PARAMS_SIGMOID_F32_ID : ParamsSigmoid6_f32.txt Output OUT_S32_ID : Output // Must be consistent with the Python script Params PARAM1_ID = { VECDIM = [16,32,64] NBVECS = [8,16,32] } Functions { Linear SVM:test_svm_linear_predict_f32 Polynomial SVM:test_svm_polynomial_predict_f32 RBF SVM:test_svm_rbf_predict_f32 Sigmoid SVM:test_svm_sigmoid_predict_f32 } -> 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 { Vector Copy:test_copy_f32 Vector Filling:test_fill_f32 Elementwise q15 to f32:test_q15_to_f32 Elementwise q31 to f32:test_q31_to_f32 Elementwise q7 to f32:test_q7_to_f32 Weighted sum: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 Pattern INPUTAC_F32_ID : InputAC1_f32.txt Pattern INPUTVEC1_F32_ID : InputVec1_f32.txt Pattern DIMSCHOLESKY1_DPO_S16_ID : DimsCholeskyDPO1_s16.txt Pattern DIMSCHOLESKY1_SDPO_S16_ID : DimsCholeskySDPO1_s16.txt Pattern INPUTSCHOLESKY1_DPO_F32_ID : InputCholeskyDPO1_f32.txt Pattern INPUTSCHOLESKY1_SDPO_F32_ID : InputCholeskySDPO1_f32.txt Pattern REFCHOLESKY1_DPO_F32_ID : RefCholeskyDPO1_f32.txt Pattern REFLDLT_D_DPO1_F32_ID : RefLDLT_D_DPO1_f32.txt Pattern REFLDLT_LL_DPO1_F32_ID : RefLDLT_LL_DPO1_f32.txt Pattern REFLDLT_PERM_DPO1_F32_ID : RefLDLT_PERM_DPO1_s16.txt Pattern REFLDLT_D_SDPO1_F32_ID : RefLDLT_D_SDPO1_f32.txt Pattern REFLDLT_LL_SDPO1_F32_ID : RefLDLT_LL_SDPO1_f32.txt Pattern REFLDLT_PERM_SDPO1_F32_ID : RefLDLT_PERM_SDPO1_s16.txt Pattern INPUT_UT_DPO_F32_ID : InputUTDPO1_f32.txt Pattern INPUT_LT_DPO_F32_ID : InputLTDPO1_f32.txt Pattern INPUT_RNDA_DPO_F32_ID : InputRNDA1_f32.txt Pattern REF_UTINV_DPO_F32_ID : Ref_UTINV_DPO1_f32.txt Pattern REF_LTINV_DPO_F32_ID : Ref_LTINV_DPO1_f32.txt Pattern REF_CHOLINV_DPO_F32_ID : Ref_CHOLINV_DPO1_f32.txt Output D_F32_ID : Output Output LL_F32_ID : Output Output PERM_S16_ID : Output Output TMPA_F32_ID : TempA Output TMPB_F32_ID : TempB Output OUT_F32_ID : Output Params PARAM1_ID = { NBR = [5,10,40] NBC = [5,10,40] } Params PARAM_CHOLESKY_ID : ParamsCholesky1.txt 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 Matrix Vector Multiplication:test_mat_vec_mult_f32 Matrix Complex Transpose:test_mat_cmplx_trans_f32 Cholesky decomposition:test_mat_cholesky_dpo_f32 -> PARAM_CHOLESKY_ID Backward substitution:test_solve_upper_triangular_f32 -> PARAM_CHOLESKY_ID Foward substitution:test_solve_lower_triangular_f32 -> PARAM_CHOLESKY_ID LDLT decomposition:test_ldlt_decomposition_f32 -> PARAM_CHOLESKY_ID } -> 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 Pattern INPUTAC_Q31_ID : InputAC1_q31.txt Pattern INPUTVEC1_Q31_ID : InputVec1_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 Matrix Vector Multiplication:test_mat_vec_mult_q31 Matrix Complex Transpose:test_mat_cmplx_trans_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 Pattern INPUTAC_Q15_ID : InputAC1_q15.txt Pattern INPUTVEC1_Q15_ID : InputVec1_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 Matrix Vector Multiplication:test_mat_vec_mult_q15 Matrix Complex Transpose:test_mat_cmplx_trans_q15 } -> PARAM1_ID } suite Unary Matrix Operators Q7 { class = UnaryQ7 folder = UnaryQ7 ParamList { NBR,NBC Summary NBR,NBC Names "Number of rows","Number of columns" Formula "NBR*NBC" } Pattern INPUTA_Q7_ID : InputA1_q7.txt Pattern INPUTVEC1_Q7_ID : InputVec1_q7.txt Output OUT_Q7_ID : Output Params PARAM1_ID = { NBR = [5,10,40] NBC = [5,10,40] } Functions { Matrix Transpose:test_mat_trans_q7 Matrix Vector Multiplication:test_mat_vec_mult_q7 } -> 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 Pattern DIMSCHOLESKY1_DPO_S16_ID : DimsCholeskyDPO1_s16.txt Pattern DIMSCHOLESKY1_SDPO_S16_ID : DimsCholeskySDPO1_s16.txt Pattern INPUTSCHOLESKY1_DPO_F64_ID : InputCholeskyDPO1_f64.txt Pattern INPUTSCHOLESKY1_SDPO_F64_ID : InputCholeskySDPO1_f64.txt Pattern REFCHOLESKY1_DPO_F64_ID : RefCholeskyDPO1_f64.txt Pattern REFLDLT_D_DPO1_F64_ID : RefLDLT_D_DPO1_f64.txt Pattern REFLDLT_LL_DPO1_F64_ID : RefLDLT_LL_DPO1_f64.txt Pattern REFLDLT_PERM_DPO1_F64_ID : RefLDLT_PERM_DPO1_s16.txt Pattern REFLDLT_D_SDPO1_F64_ID : RefLDLT_D_SDPO1_f64.txt Pattern REFLDLT_LL_SDPO1_F64_ID : RefLDLT_LL_SDPO1_f64.txt Pattern REFLDLT_PERM_SDPO1_F64_ID : RefLDLT_PERM_SDPO1_s16.txt Pattern INPUT_UT_DPO_F64_ID : InputUTDPO1_f64.txt Pattern INPUT_LT_DPO_F64_ID : InputLTDPO1_f64.txt Pattern INPUT_RNDA_DPO_F64_ID : InputRNDA1_f64.txt Pattern REF_UTINV_DPO_F64_ID : Ref_UTINV_DPO1_f64.txt Pattern REF_LTINV_DPO_F64_ID : Ref_LTINV_DPO1_f64.txt Pattern REF_CHOLINV_DPO_F64_ID : Ref_CHOLINV_DPO1_f64.txt Output TMPA_F64_ID : TempA Output TMPB_F64_ID : TempB Output OUT_F64_ID : Output Params PARAM1_ID = { NBR = [5,10,40] NBC = [5,10,40] } Params PARAM_CHOLESKY_ID : ParamsCholesky1.txt Functions { Matrix Inversion:test_mat_inverse_f64 Cholesky decomposition:test_mat_cholesky_dpo_f64 -> PARAM_CHOLESKY_ID Backward substitution:test_solve_upper_triangular_f64 -> PARAM_CHOLESKY_ID Foward substitution:test_solve_lower_triangular_f64 -> PARAM_CHOLESKY_ID } -> 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 Output TMP_Q31_ID : Temp 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 Opt Matrix Multiplication:test_mat_mult_opt_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 Output TMP_Q15_ID : Temp 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 } suite Binary Matrix Operators Q7 { class = BinaryQ7 folder = BinaryQ7 ParamList { NBR,NBI,NBC Summary NBR,NBI,NBC Names "Number of rows","Inner dimensions","Number of columns" Formula "NBR*NBI*NBC" } Pattern INPUTA_Q7_ID : InputA1_q7.txt Pattern INPUTB_Q7_ID : InputB1_q7.txt Pattern INPUTAC_Q7_ID : InputAC1_q7.txt Pattern INPUTBC_Q7_ID : InputBC1_q7.txt Output OUT_Q7_ID : Output Params PARAM1_ID = { NBR = [5,10,40] NBI = [5,10,40] NBC = [5,10,40] } Functions { Matrix Multiplication:test_mat_mult_q7 } -> 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 TMP_F32_ID : Temp 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 Scalar Radix 4 Complex FFT:test_cfft_radix4_f32 -> CFFT4_PARAM_ID Scalar 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 = [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 Scalar Radix 4 Complex FFT:test_cfft_radix4_q31 -> CFFT4_PARAM_ID Scalar 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 Scalar Radix 4 Complex FFT:test_cfft_radix4_q15 -> CFFT4_PARAM_ID Scalar 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 } } } }