RMUL2025/lib/cmsis_5/CMSIS/DSP/Testing/bench.txt

1999 lines
62 KiB
Plaintext
Executable File

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
}
}
}
}