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

630 lines
19 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 F16 {
class = StatsF16
folder = StatsF16
ParamList {
NB
Summary NB
Names "NB Samples"
Formula "NB"
}
Pattern INPUT1_F16_ID : InputBench1_f16.txt
Pattern INPUT2_F16_ID : InputBench2_f16.txt
Output OUT_F16_ID : Output
Output OUT_S16_ID : Index
Output TMP_F16_ID : Temp
Params PARAM1_ID = {
A = [16,32,64,128,256]
}
Functions {
Vector maximum:test_max_f16
Vector average:test_mean_f16
Vector minimum:test_min_f16
Vector energy:test_power_f16
Vector root mean square:test_rms_f16
Vector standard deviation:test_std_f16
Vector variance:test_var_f16
Entropy:test_entropy_f16
Vector logsumexp:test_logsumexp_f16
Kullback Leibler divergence:test_kullback_leibler_f16
Vector logsumexp dot product:test_logsumexp_dot_prod_f16
Vector max with no index:test_max_no_idx_f16
Vector absolute maximum:test_absmax_f16
Vector absolute minimum:test_absmin_f16
} -> PARAM1_ID
}
}
group Basic Maths {
class = BasicBenchmarks
folder = BasicMaths
suite Basic Maths Benchmarks F16 {
class = BasicMathsBenchmarksF16
folder = BasicMathsF16
ParamList {
NB
Summary NB
Names "NB Samples"
Formula "NB"
}
Pattern INPUT1_F16_ID : Input1_f16.txt
Pattern INPUT2_F16_ID : Input2_f16.txt
Output OUT_SAMPLES_F16_ID : Output
Params PARAM1_ID = {
A = [16,32,64,128,256]
}
Functions {
Elementwise multiplication:vec_mult_f16
Vector addition:vec_add_f16
Vector substraction:vec_sub_f16
Elementwise absolute value:vec_abs_f16
Elementwise negation:vec_negate_f16
Elementwise offset:vec_offset_f16
Vector scaling:vec_scale_f16
Dot product:vec_dot_f16
} -> PARAM1_ID
}
}
group Complex Maths {
class = ComplexBenchmarks
folder = ComplexMaths
suite ComplexMaths Benchmarks F16 {
class = ComplexMathsBenchmarksF16
folder = ComplexMathsF16
ParamList {
NB
Summary NB
Names "NB Samples"
Formula "NB"
}
Pattern INPUT1_F16_ID : Input1_f16.txt
Pattern INPUT2_F16_ID : Input2_f16.txt
Pattern INPUT3_F16_ID : Input3_f16.txt
Output OUT_SAMPLES_F16_ID : Output
Params PARAM1_ID = {
A = [16,32,64,128,256]
}
Functions {
Elementwise conjugate:vec_conj_f16
Complex dot product:vec_dot_prod_f16
Elementwise modulus:vec_mag_f16
Elementwise modulus squared:vec_mag_squared_f16
Elementwise complex multiplication:vec_mult_cmplx_f16
Vector scaling by real number:vec_mult_real_f16
} -> PARAM1_ID
}
}
group Filtering {
class = DSPFiltering
folder = Filtering
group FIR {
class = FIR
folder = FIR
suite FIR F16 {
class = FIRF16
folder = FIRF16
ParamList {
NumTaps, NB
Summary NumTaps, NB
Names "Number of taps","Number of samples"
Formula "NumTaps * NB"
}
Pattern SAMPLES1_F16_ID : Samples1_f16.txt
Pattern REFS1_F16_ID : Refs1_f16.txt
Pattern COEFS1_F16_ID : Coefs1_f16.txt
Output OUT_SAMPLES_F16_ID : Output
Output STATE_F16_ID : State
Output ERR_F16_ID : Err
Params PARAM1_ID = {
NumTaps = [16,32,64]
NB = [64,128,256]
}
Functions {
FIR Filter:test_fir_f16
} -> PARAM1_ID
}
}
group Convolutions / Correlations {
class = MISC
folder = MISC
suite Convolutions / Correlations F16 {
class = MISCF16
folder = MISCF16
ParamList {
NBA, NBB
Summary NBA, NBB
Names "Number of samples A,Number of samples B"
Formula "NBA * NBB"
}
Pattern INPUTSA1_F16_ID : InputsA1_f16.txt
Pattern INPUTSB1_F16_ID : InputsB1_f16.txt
Output OUT_SAMPLES_F16_ID : Output
Params PARAM1_ID = {
NBA = [9,16,64]
NBB = [9,16,128]
}
Functions {
disabled{Convolution:test_conv_f16}
Correlation:test_correlate_f16
} -> PARAM1_ID
}
}
group BiQuads {
class = BIQUAD
folder = BIQUAD
suite BiQuads F16 {
class = BIQUADF16
folder = BIQUADF16
ParamList {
NumStages, NB
Summary NumStages, NB
Names "Number of stages","Number of samples"
Formula "NumStages * NB"
}
Pattern SAMPLES1_F16_ID : Samples1_f16.txt
Pattern COEFS1_F16_ID : Coefs1_f16.txt
Output OUT_SAMPLES_F16_ID : Output
Output STATE_F16_ID : State
Output NEON_COEFS_F16_ID : NeonCoefs
Params PARAM1_ID = {
NumStages = [1,2,4]
NB = [16,128,256]
}
Functions {
Cascaded BiQuad Filter DF1:test_biquad_cascade_df1_f16
Cascaded BiQuad Filter DF2T:test_biquad_cascade_df2T_f16
Cascaded BiQuad Filter Stereo DF2T:test_biquad_cascade_stereo_df2T_f16
} -> PARAM1_ID
}
}
}
group Fast Maths {
class = FastMath
folder = FastMath
suite Fast Maths F16 {
class = FastMathF16
folder = FastMathF16
ParamList {
NB
Summary NB
Names "Number of samples"
Formula "NB"
}
Pattern SAMPLES_F16_ID : Samples1_f16.txt
Output OUT_SAMPLES_F16_ID : Output
Params PARAM1_ID = {
NB = [64,128,256]
}
Functions {
disabled{Cosine:test_cos_f16}
disabled{Sine:test_sin_f16}
Square Root:test_sqrt_f16
} -> PARAM1_ID
}
}
group Bayes{
class = Bayes
folder = Bayes
suite Bayes F16 {
class = BayesF16
folder = BayesF16
ParamList {
VECDIM,NBCLASSES
Summary VECDIM,NBCLASSES
Names "Vector dimension","Number of classes"
Formula "VECDIM*NBCLASSES"
}
Pattern DIMS2_S16_ID : DimsBench2_s16.txt
Pattern INPUTS2_F16_ID : Inputs2_f16.txt
Pattern PARAMS2_F16_ID : Params2_f16.txt
Pattern PREDICTS2_S16_ID : Predicts2_s16.txt
Output OUT_PROBA_F16_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_f16
} -> PARAM1_ID
}
}
group Distance {
class = Distance
folder = Distance
suite Distance F16 {
class = DistanceF16
folder = DistanceF16
ParamList {
NB
Summary NB
Names "NB Samples"
Formula "NB"
}
Pattern INPUTA_F16_ID : InputBenchA1_f16.txt
Pattern INPUTB_F16_ID : InputBenchB1_f16.txt
Pattern INPUTA_PROBA_F16_ID : InputBenchProbaA1_f16.txt
Pattern INPUTB_PROBA_F16_ID : InputBenchProbaB1_f16.txt
Output TMPA_F16_ID : TmpA
Output TMPB_F16_ID : TmpB
Params PARAM1_ID = {
NB = [16,32,64,128,256]
}
Functions {
Bray Curtis distance:test_braycurtis_distance_f16
Canberra distance:test_canberra_distance_f16
Chebyshev distance:test_chebyshev_distance_f16
Cityblock distance:test_cityblock_distance_f16
Correlation distance:test_correlation_distance_f16
Cosine distance:test_cosine_distance_f16
Euclidean distance:test_euclidean_distance_f16
Jensen Shannon distance:test_jensenshannon_distance_f16
Minkowski distance:test_minkowski_distance_f16
} -> PARAM1_ID
}
}
group SVM {
class = SVM
folder = SVM
suite SVM F16 {
class = SVMF16
folder = SVMF16
ParamList {
VECDIM,NBVECS
Summary VECDIM,NBVECS
Names "Vector dimension","Number of suppot vectors"
Formula "VECDIM*NBVECS"
}
Pattern INPUT_F16_ID : InputsBench6_f16.txt
Pattern DIMS_LINEAR_S16_ID : DimsLinear6_s16.txt
Pattern PARAMS_LINEAR_F16_ID : ParamsLinear6_f16.txt
Pattern DIMS_POLY_S16_ID : DimsPoly6_s16.txt
Pattern PARAMS_POLY_F16_ID : ParamsPoly6_f16.txt
Pattern DIMS_RBF_S16_ID : DimsRBF6_s16.txt
Pattern PARAMS_RBF_F16_ID : ParamsRBF6_f16.txt
Pattern DIMS_SIGMOID_S16_ID : DimsSigmoid6_s16.txt
Pattern PARAMS_SIGMOID_F16_ID : ParamsSigmoid6_f16.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_f16
Polynomial SVM:test_svm_polynomial_predict_f16
RBF SVM:test_svm_rbf_predict_f16
Sigmoid SVM:test_svm_sigmoid_predict_f16
} -> PARAM1_ID
}
}
group Barycenter {
class = Barycenter
suite Barycenter {
class = SupportBarF16
folder = SupportBarF16
ParamList {
NB,VECDIM
Summary NB,VECDIM
Names "Number of samples","Vector dimension"
Formula "NB*VECDIM"
}
Pattern SAMPLES_F16_ID : Samples1_f16.txt
Pattern COEFS_F16_ID : Coefs1_f16.txt
Output OUT_SAMPLES_F16_ID : Output
Params PARAM1_ID = {
NB = [16,64,128]
VECDIM = [5,10,15]
}
Functions {
Barycenter:test_barycenter_f16
} -> PARAM1_ID
}
}
group Support Functions {
class = Support
folder = Support
suite Support Functions F16 {
class = SupportF16
folder = SupportF16
ParamList {
NB
Summary NB
Names "Number of samples"
Formula "NB"
}
Pattern SAMPLES_F32_ID : Samples1_f32.txt
Pattern SAMPLES_F16_ID : Samples11_f16.txt
Pattern SAMPLES_Q15_ID : Samples3_q15.txt
Pattern INPUTS6_F16_ID : Inputs6_f16.txt
Pattern WEIGHTS6_F16_ID : Weights6_f16.txt
Pattern REF6_F16_ID : Ref6_f16.txt
Output OUT_SAMPLES_F16_ID : Output
Params PARAM1_ID = {
NB = [64,128,256]
}
Functions {
Vector Copy:test_copy_f16
Vector Filling:test_fill_f16
Elementwise q15 to f16:test_q15_to_f16
Elementwise f32 to f16:test_f32_to_f16
Weighted sum:test_weighted_sum_f16
} -> PARAM1_ID
}
}
group Matrix {
class = Matrix
folder = Matrix
group Matrix Operators with one matrix size {
class = Unary
folder = Unary
suite Unary Matrix Operators F16 {
class = UnaryF16
folder = UnaryF16
ParamList {
NBR,NBC
Summary NBR,NBC
Names "Number of rows","Number of columns"
Formula "NBR*NBC"
}
Pattern INPUTA_F16_ID : InputA1_f16.txt
Pattern INPUTAC_F16_ID : InputAC1_f16.txt
Pattern INPUTVEC1_F16_ID : InputVec1_f16.txt
Pattern DIMSCHOLESKY1_DPO_S16_ID : DimsCholeskyDPO1_s16.txt
Pattern DIMSCHOLESKY1_SDPO_S16_ID : DimsCholeskySDPO1_s16.txt
Pattern INPUTSCHOLESKY1_DPO_F16_ID : InputCholeskyDPO1_f16.txt
Pattern INPUTSCHOLESKY1_SDPO_F16_ID : InputCholeskySDPO1_f16.txt
Pattern REFCHOLESKY1_DPO_F16_ID : RefCholeskyDPO1_f16.txt
Pattern REFLDLT_D_DPO1_F16_ID : RefLDLT_D_DPO1_f16.txt
Pattern REFLDLT_LL_DPO1_F16_ID : RefLDLT_LL_DPO1_f16.txt
Pattern REFLDLT_PERM_DPO1_F16_ID : RefLDLT_PERM_DPO1_s16.txt
Pattern REFLDLT_D_SDPO1_F16_ID : RefLDLT_D_SDPO1_f16.txt
Pattern REFLDLT_LL_SDPO1_F16_ID : RefLDLT_LL_SDPO1_f16.txt
Pattern REFLDLT_PERM_SDPO1_F16_ID : RefLDLT_PERM_SDPO1_s16.txt
Pattern INPUT_UT_DPO_F16_ID : InputUTDPO1_f16.txt
Pattern INPUT_LT_DPO_F16_ID : InputLTDPO1_f16.txt
Pattern INPUT_RNDA_DPO_F16_ID : InputRNDA1_f16.txt
Pattern REF_UTINV_DPO_F16_ID : Ref_UTINV_DPO1_f16.txt
Pattern REF_LTINV_DPO_F16_ID : Ref_LTINV_DPO1_f16.txt
Pattern REF_CHOLINV_DPO_F16_ID : Ref_CHOLINV_DPO1_f16.txt
Output TMPA_F16_ID : TempA
Output TMPB_F16_ID : TempB
Output OUT_F16_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_f16
Matrix Inversion:test_mat_inverse_f16
Matrix Transpose:test_mat_trans_f16
Matrix Addition:test_mat_add_f16
Matrix Substraction:test_mat_sub_f16
Matrix Vector Multiplication:test_mat_vec_mult_f16
Matrix Complex Transpose:test_mat_cmplx_trans_f16
Cholesky decomposition:test_mat_cholesky_dpo_f16 -> PARAM_CHOLESKY_ID
Backward substitution:test_solve_upper_triangular_f16 -> PARAM_CHOLESKY_ID
Foward substitution:test_solve_lower_triangular_f16 -> PARAM_CHOLESKY_ID
} -> PARAM1_ID
}
}
group Matrix Operators with two matrix sizes {
class = Binary
folder = Binary
suite Binary Matrix Operators F16 {
class = BinaryF16
folder = BinaryF16
ParamList {
NBR,NBI,NBC
Summary NBR,NBI,NBC
Names "Number of rows","Inner dimensions","Number of columns"
Formula "NBR*NBI*NBC"
}
Pattern INPUTA_F16_ID : InputA1_f16.txt
Pattern INPUTB_F16_ID : InputB1_f16.txt
Pattern INPUTAC_F16_ID : InputAC1_f16.txt
Pattern INPUTBC_F16_ID : InputBC1_f16.txt
Output OUT_F16_ID : Output
Params PARAM1_ID = {
NBR = [5,10,40]
NBI = [5,10,40]
NBC = [5,10,40]
}
Functions {
Matrix Multiplication:test_mat_mult_f16
Complex Matrix Multiplication:test_mat_cmplx_mult_f16
} -> PARAM1_ID
}
}
}
group Spectral Transformations {
class = Transform
folder = Transform
suite Spectral Transformations F16 {
class = TransformF16
folder = TransformF16
ParamList {
NB,IFFT,BITREV
Summary NB
Names "Number of samples,Inverse FFT, Bit Reversal"
Formula "I(NB*log2(NB))"
}
Pattern INPUTR_F16_ID : RealInputSamples19_f16.txt
Pattern INPUTC_F16_ID : ComplexInputSamples_Noisy_512_6_f16.txt
Output OUT_F16_ID : Temp
Output TMP_F16_ID : Output
Output STATE_F16_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]
}
Functions {
Complex FFT:test_cfft_f16 -> CFFT_PARAM_ID
Real FFT:test_rfft_f16 -> RFFT_PARAM_ID
Scalar Radix 4 Complex FFT:test_cfft_radix4_f16 -> CFFT4_PARAM_ID
Scalar Radix 2 Complex FFT:test_cfft_radix2_f16 -> CFFT_PARAM_ID
}
}
}
}
}