1group Root { 2 class = Root 3 4 group DSP Benchmarks { 5 class = DSPBenchmarks 6 folder = DSP 7 8 group Statistics Benchmarks { 9 class = Stats 10 folder = Stats 11 12 suite Statistics Benchmarks F16 { 13 class = StatsF16 14 folder = StatsF16 15 16 ParamList { 17 NB 18 Summary NB 19 Names "NB Samples" 20 Formula "NB" 21 } 22 23 Pattern INPUT1_F16_ID : InputBench1_f16.txt 24 Pattern INPUT2_F16_ID : InputBench2_f16.txt 25 26 Output OUT_F16_ID : Output 27 Output OUT_S16_ID : Index 28 Output TMP_F16_ID : Temp 29 30 Params PARAM1_ID = { 31 A = [16,32,64,128,256] 32 } 33 34 Functions { 35 Vector maximum:test_max_f16 36 Vector average:test_mean_f16 37 Vector minimum:test_min_f16 38 Vector energy:test_power_f16 39 Vector root mean square:test_rms_f16 40 Vector standard deviation:test_std_f16 41 Vector variance:test_var_f16 42 Entropy:test_entropy_f16 43 Vector logsumexp:test_logsumexp_f16 44 Kullback Leibler divergence:test_kullback_leibler_f16 45 Vector logsumexp dot product:test_logsumexp_dot_prod_f16 46 Vector max with no index:test_max_no_idx_f16 47 Vector absolute maximum:test_absmax_f16 48 Vector absolute minimum:test_absmin_f16 49 } -> PARAM1_ID 50 51 } 52 53 } 54 55 group Basic Maths { 56 class = BasicBenchmarks 57 folder = BasicMaths 58 59 suite Basic Maths Benchmarks F16 { 60 class = BasicMathsBenchmarksF16 61 folder = BasicMathsF16 62 63 ParamList { 64 NB 65 Summary NB 66 Names "NB Samples" 67 Formula "NB" 68 } 69 70 Pattern INPUT1_F16_ID : Input1_f16.txt 71 Pattern INPUT2_F16_ID : Input2_f16.txt 72 Output OUT_SAMPLES_F16_ID : Output 73 Params PARAM1_ID = { 74 A = [16,32,64,128,256] 75 } 76 77 Functions { 78 Elementwise multiplication:vec_mult_f16 79 Vector addition:vec_add_f16 80 Vector substraction:vec_sub_f16 81 Elementwise absolute value:vec_abs_f16 82 Elementwise negation:vec_negate_f16 83 Elementwise offset:vec_offset_f16 84 Vector scaling:vec_scale_f16 85 Dot product:vec_dot_f16 86 } -> PARAM1_ID 87 } 88 89 } 90 91 group Complex Maths { 92 class = ComplexBenchmarks 93 folder = ComplexMaths 94 95 suite ComplexMaths Benchmarks F16 { 96 class = ComplexMathsBenchmarksF16 97 folder = ComplexMathsF16 98 99 ParamList { 100 NB 101 Summary NB 102 Names "NB Samples" 103 Formula "NB" 104 } 105 106 Pattern INPUT1_F16_ID : Input1_f16.txt 107 Pattern INPUT2_F16_ID : Input2_f16.txt 108 Pattern INPUT3_F16_ID : Input3_f16.txt 109 Output OUT_SAMPLES_F16_ID : Output 110 Params PARAM1_ID = { 111 A = [16,32,64,128,256] 112 } 113 114 Functions { 115 Elementwise conjugate:vec_conj_f16 116 Complex dot product:vec_dot_prod_f16 117 Elementwise modulus:vec_mag_f16 118 Elementwise modulus squared:vec_mag_squared_f16 119 Elementwise complex multiplication:vec_mult_cmplx_f16 120 Vector scaling by real number:vec_mult_real_f16 121 } -> PARAM1_ID 122 } 123 124 } 125 126 group Filtering { 127 class = DSPFiltering 128 folder = Filtering 129 130 group FIR { 131 class = FIR 132 folder = FIR 133 134 suite FIR F16 { 135 class = FIRF16 136 folder = FIRF16 137 138 ParamList { 139 NumTaps, NB 140 Summary NumTaps, NB 141 Names "Number of taps","Number of samples" 142 Formula "NumTaps * NB" 143 } 144 145 Pattern SAMPLES1_F16_ID : Samples1_f16.txt 146 Pattern REFS1_F16_ID : Refs1_f16.txt 147 Pattern COEFS1_F16_ID : Coefs1_f16.txt 148 149 Output OUT_SAMPLES_F16_ID : Output 150 Output STATE_F16_ID : State 151 Output ERR_F16_ID : Err 152 153 Params PARAM1_ID = { 154 NumTaps = [16,32,64] 155 NB = [64,128,256] 156 } 157 158 Functions { 159 FIR Filter:test_fir_f16 160 } -> PARAM1_ID 161 } 162 163 } 164 165 group Convolutions / Correlations { 166 class = MISC 167 folder = MISC 168 169 suite Convolutions / Correlations F16 { 170 class = MISCF16 171 folder = MISCF16 172 173 ParamList { 174 NBA, NBB 175 Summary NBA, NBB 176 Names "Number of samples A,Number of samples B" 177 Formula "NBA * NBB" 178 } 179 180 Pattern INPUTSA1_F16_ID : InputsA1_f16.txt 181 Pattern INPUTSB1_F16_ID : InputsB1_f16.txt 182 183 Output OUT_SAMPLES_F16_ID : Output 184 185 Params PARAM1_ID = { 186 NBA = [9,16,64] 187 NBB = [9,16,128] 188 } 189 190 Functions { 191 disabled{Convolution:test_conv_f16} 192 Correlation:test_correlate_f16 193 } -> PARAM1_ID 194 } 195 196 197 } 198 199 200 group BiQuads { 201 class = BIQUAD 202 folder = BIQUAD 203 204 suite BiQuads F16 { 205 class = BIQUADF16 206 folder = BIQUADF16 207 208 ParamList { 209 NumStages, NB 210 Summary NumStages, NB 211 Names "Number of stages","Number of samples" 212 Formula "NumStages * NB" 213 } 214 215 Pattern SAMPLES1_F16_ID : Samples1_f16.txt 216 Pattern COEFS1_F16_ID : Coefs1_f16.txt 217 218 Output OUT_SAMPLES_F16_ID : Output 219 Output STATE_F16_ID : State 220 Output NEON_COEFS_F16_ID : NeonCoefs 221 222 Params PARAM1_ID = { 223 NumStages = [1,2,4] 224 NB = [16,128,256] 225 } 226 227 Functions { 228 Cascaded BiQuad Filter DF1:test_biquad_cascade_df1_f16 229 Cascaded BiQuad Filter DF2T:test_biquad_cascade_df2T_f16 230 Cascaded BiQuad Filter Stereo DF2T:test_biquad_cascade_stereo_df2T_f16 231 } -> PARAM1_ID 232 } 233 234 } 235 } 236 237 group Fast Maths { 238 class = FastMath 239 folder = FastMath 240 241 suite Fast Maths F16 { 242 class = FastMathF16 243 folder = FastMathF16 244 245 ParamList { 246 NB 247 Summary NB 248 Names "Number of samples" 249 Formula "NB" 250 } 251 252 Pattern SAMPLES_F16_ID : Samples1_f16.txt 253 Output OUT_SAMPLES_F16_ID : Output 254 255 Params PARAM1_ID = { 256 NB = [64,128,256] 257 } 258 259 Functions { 260 disabled{Cosine:test_cos_f16} 261 disabled{Sine:test_sin_f16} 262 Square Root:test_sqrt_f16 263 } -> PARAM1_ID 264 } 265 266 } 267 268 group Bayes{ 269 class = Bayes 270 folder = Bayes 271 272 suite Bayes F16 { 273 class = BayesF16 274 folder = BayesF16 275 276 ParamList { 277 VECDIM,NBCLASSES 278 Summary VECDIM,NBCLASSES 279 Names "Vector dimension","Number of classes" 280 Formula "VECDIM*NBCLASSES" 281 } 282 283 Pattern DIMS2_S16_ID : DimsBench2_s16.txt 284 Pattern INPUTS2_F16_ID : Inputs2_f16.txt 285 Pattern PARAMS2_F16_ID : Params2_f16.txt 286 Pattern PREDICTS2_S16_ID : Predicts2_s16.txt 287 288 Output OUT_PROBA_F16_ID : Probas 289 Output OUT_PREDICT_S16_ID : Predicts 290 291 // Must be consistent with the Python script 292 Params PARAM1_ID = { 293 VECDIM = [12,14,20] 294 NBCLASSES = [3,5,4] 295 } 296 297 Functions { 298 Naive Gaussian Bayes Predictor:test_gaussian_naive_bayes_predict_f16 299 } -> PARAM1_ID 300 } 301 } 302 303 group Distance { 304 class = Distance 305 folder = Distance 306 307 suite Distance F16 { 308 class = DistanceF16 309 folder = DistanceF16 310 311 ParamList { 312 NB 313 Summary NB 314 Names "NB Samples" 315 Formula "NB" 316 } 317 318 Pattern INPUTA_F16_ID : InputBenchA1_f16.txt 319 Pattern INPUTB_F16_ID : InputBenchB1_f16.txt 320 321 Pattern INPUTA_PROBA_F16_ID : InputBenchProbaA1_f16.txt 322 Pattern INPUTB_PROBA_F16_ID : InputBenchProbaB1_f16.txt 323 324 Output TMPA_F16_ID : TmpA 325 Output TMPB_F16_ID : TmpB 326 327 Params PARAM1_ID = { 328 NB = [16,32,64,128,256] 329 } 330 331 Functions { 332 Bray Curtis distance:test_braycurtis_distance_f16 333 Canberra distance:test_canberra_distance_f16 334 Chebyshev distance:test_chebyshev_distance_f16 335 Cityblock distance:test_cityblock_distance_f16 336 Correlation distance:test_correlation_distance_f16 337 Cosine distance:test_cosine_distance_f16 338 Euclidean distance:test_euclidean_distance_f16 339 Jensen Shannon distance:test_jensenshannon_distance_f16 340 Minkowski distance:test_minkowski_distance_f16 341 } -> PARAM1_ID 342 } 343 344 } 345 346 group SVM { 347 class = SVM 348 folder = SVM 349 350 suite SVM F16 { 351 class = SVMF16 352 folder = SVMF16 353 354 ParamList { 355 VECDIM,NBVECS 356 Summary VECDIM,NBVECS 357 Names "Vector dimension","Number of suppot vectors" 358 Formula "VECDIM*NBVECS" 359 } 360 361 Pattern INPUT_F16_ID : InputsBench6_f16.txt 362 363 Pattern DIMS_LINEAR_S16_ID : DimsLinear6_s16.txt 364 Pattern PARAMS_LINEAR_F16_ID : ParamsLinear6_f16.txt 365 366 Pattern DIMS_POLY_S16_ID : DimsPoly6_s16.txt 367 Pattern PARAMS_POLY_F16_ID : ParamsPoly6_f16.txt 368 369 Pattern DIMS_RBF_S16_ID : DimsRBF6_s16.txt 370 Pattern PARAMS_RBF_F16_ID : ParamsRBF6_f16.txt 371 372 Pattern DIMS_SIGMOID_S16_ID : DimsSigmoid6_s16.txt 373 Pattern PARAMS_SIGMOID_F16_ID : ParamsSigmoid6_f16.txt 374 375 Output OUT_S32_ID : Output 376 377 // Must be consistent with the Python script 378 Params PARAM1_ID = { 379 VECDIM = [16,32,64] 380 NBVECS = [8,16,32] 381 } 382 383 Functions { 384 Linear SVM:test_svm_linear_predict_f16 385 Polynomial SVM:test_svm_polynomial_predict_f16 386 RBF SVM:test_svm_rbf_predict_f16 387 Sigmoid SVM:test_svm_sigmoid_predict_f16 388 } -> PARAM1_ID 389 } 390 } 391 392 group Barycenter { 393 class = Barycenter 394 395 suite Barycenter { 396 class = SupportBarF16 397 folder = SupportBarF16 398 399 ParamList { 400 NB,VECDIM 401 Summary NB,VECDIM 402 Names "Number of samples","Vector dimension" 403 Formula "NB*VECDIM" 404 } 405 406 Pattern SAMPLES_F16_ID : Samples1_f16.txt 407 Pattern COEFS_F16_ID : Coefs1_f16.txt 408 Output OUT_SAMPLES_F16_ID : Output 409 410 Params PARAM1_ID = { 411 NB = [16,64,128] 412 VECDIM = [5,10,15] 413 } 414 415 Functions { 416 Barycenter:test_barycenter_f16 417 } -> PARAM1_ID 418 419 } 420 421 } 422 423 group Support Functions { 424 class = Support 425 folder = Support 426 427 suite Support Functions F16 { 428 class = SupportF16 429 folder = SupportF16 430 431 ParamList { 432 NB 433 Summary NB 434 Names "Number of samples" 435 Formula "NB" 436 } 437 438 Pattern SAMPLES_F32_ID : Samples1_f32.txt 439 Pattern SAMPLES_F16_ID : Samples11_f16.txt 440 Pattern SAMPLES_Q15_ID : Samples3_q15.txt 441 442 Pattern INPUTS6_F16_ID : Inputs6_f16.txt 443 Pattern WEIGHTS6_F16_ID : Weights6_f16.txt 444 Pattern REF6_F16_ID : Ref6_f16.txt 445 446 Output OUT_SAMPLES_F16_ID : Output 447 448 Params PARAM1_ID = { 449 NB = [64,128,256] 450 } 451 452 Functions { 453 Vector Copy:test_copy_f16 454 Vector Filling:test_fill_f16 455 Elementwise q15 to f16:test_q15_to_f16 456 Elementwise f32 to f16:test_f32_to_f16 457 Weighted sum:test_weighted_sum_f16 458 } -> PARAM1_ID 459 } 460 461 } 462 463 group Matrix { 464 class = Matrix 465 folder = Matrix 466 467 group Matrix Operators with one matrix size { 468 class = Unary 469 folder = Unary 470 471 suite Unary Matrix Operators F16 { 472 class = UnaryF16 473 folder = UnaryF16 474 475 ParamList { 476 NBR,NBC 477 Summary NBR,NBC 478 Names "Number of rows","Number of columns" 479 Formula "NBR*NBC" 480 } 481 482 Pattern INPUTA_F16_ID : InputA1_f16.txt 483 Pattern INPUTAC_F16_ID : InputAC1_f16.txt 484 Pattern INPUTVEC1_F16_ID : InputVec1_f16.txt 485 486 Pattern DIMSCHOLESKY1_DPO_S16_ID : DimsCholeskyDPO1_s16.txt 487 Pattern DIMSCHOLESKY1_SDPO_S16_ID : DimsCholeskySDPO1_s16.txt 488 Pattern INPUTSCHOLESKY1_DPO_F16_ID : InputCholeskyDPO1_f16.txt 489 Pattern INPUTSCHOLESKY1_SDPO_F16_ID : InputCholeskySDPO1_f16.txt 490 491 Pattern REFCHOLESKY1_DPO_F16_ID : RefCholeskyDPO1_f16.txt 492 493 Pattern REFLDLT_D_DPO1_F16_ID : RefLDLT_D_DPO1_f16.txt 494 Pattern REFLDLT_LL_DPO1_F16_ID : RefLDLT_LL_DPO1_f16.txt 495 Pattern REFLDLT_PERM_DPO1_F16_ID : RefLDLT_PERM_DPO1_s16.txt 496 497 Pattern REFLDLT_D_SDPO1_F16_ID : RefLDLT_D_SDPO1_f16.txt 498 Pattern REFLDLT_LL_SDPO1_F16_ID : RefLDLT_LL_SDPO1_f16.txt 499 Pattern REFLDLT_PERM_SDPO1_F16_ID : RefLDLT_PERM_SDPO1_s16.txt 500 501 Pattern INPUT_UT_DPO_F16_ID : InputUTDPO1_f16.txt 502 Pattern INPUT_LT_DPO_F16_ID : InputLTDPO1_f16.txt 503 Pattern INPUT_RNDA_DPO_F16_ID : InputRNDA1_f16.txt 504 505 Pattern REF_UTINV_DPO_F16_ID : Ref_UTINV_DPO1_f16.txt 506 Pattern REF_LTINV_DPO_F16_ID : Ref_LTINV_DPO1_f16.txt 507 Pattern REF_CHOLINV_DPO_F16_ID : Ref_CHOLINV_DPO1_f16.txt 508 509 Output TMPA_F16_ID : TempA 510 Output TMPB_F16_ID : TempB 511 Output OUT_F16_ID : Output 512 513 Params PARAM1_ID = { 514 NBR = [5,10,40] 515 NBC = [5,10,40] 516 } 517 518 Params PARAM_CHOLESKY_ID : ParamsCholesky1.txt 519 520 Functions { 521 Matrix Scaling:test_mat_scale_f16 522 Matrix Inversion:test_mat_inverse_f16 523 Matrix Transpose:test_mat_trans_f16 524 Matrix Addition:test_mat_add_f16 525 Matrix Substraction:test_mat_sub_f16 526 Matrix Vector Multiplication:test_mat_vec_mult_f16 527 Matrix Complex Transpose:test_mat_cmplx_trans_f16 528 Cholesky decomposition:test_mat_cholesky_dpo_f16 -> PARAM_CHOLESKY_ID 529 Backward substitution:test_solve_upper_triangular_f16 -> PARAM_CHOLESKY_ID 530 Foward substitution:test_solve_lower_triangular_f16 -> PARAM_CHOLESKY_ID 531 } -> PARAM1_ID 532 } 533 534 } 535 536 group Matrix Operators with two matrix sizes { 537 class = Binary 538 folder = Binary 539 540 suite Binary Matrix Operators F16 { 541 class = BinaryF16 542 folder = BinaryF16 543 544 ParamList { 545 NBR,NBI,NBC 546 Summary NBR,NBI,NBC 547 Names "Number of rows","Inner dimensions","Number of columns" 548 Formula "NBR*NBI*NBC" 549 } 550 551 Pattern INPUTA_F16_ID : InputA1_f16.txt 552 Pattern INPUTB_F16_ID : InputB1_f16.txt 553 554 Pattern INPUTAC_F16_ID : InputAC1_f16.txt 555 Pattern INPUTBC_F16_ID : InputBC1_f16.txt 556 Output OUT_F16_ID : Output 557 558 Params PARAM1_ID = { 559 NBR = [5,10,40] 560 NBI = [5,10,40] 561 NBC = [5,10,40] 562 } 563 564 565 Functions { 566 Matrix Multiplication:test_mat_mult_f16 567 Complex Matrix Multiplication:test_mat_cmplx_mult_f16 568 } -> PARAM1_ID 569 } 570 } 571 } 572 573 group Spectral Transformations { 574 class = Transform 575 folder = Transform 576 577 suite Spectral Transformations F16 { 578 class = TransformF16 579 folder = TransformF16 580 581 ParamList { 582 NB,IFFT,BITREV 583 Summary NB 584 Names "Number of samples,Inverse FFT, Bit Reversal" 585 Formula "I(NB*log2(NB))" 586 } 587 588 Pattern INPUTR_F16_ID : RealInputSamples19_f16.txt 589 Pattern INPUTC_F16_ID : ComplexInputSamples_Noisy_512_6_f16.txt 590 591 Output OUT_F16_ID : Temp 592 Output TMP_F16_ID : Output 593 Output STATE_F16_ID : Output 594 595 596 Params CFFT_PARAM_ID = { 597 NB = [64,128,256] 598 IFFT = [0,1] 599 REV = [0,1] 600 } 601 602 Params CFFT4_PARAM_ID = { 603 NB = [16,64,256] 604 IFFT = [0,1] 605 REV = [0,1] 606 } 607 608 Params RFFT_PARAM_ID = { 609 NB = [64,128,256] 610 IFFT = [0,1] 611 REV = [1] 612 } 613 614 615 616 Functions { 617 Complex FFT:test_cfft_f16 -> CFFT_PARAM_ID 618 Real FFT:test_rfft_f16 -> RFFT_PARAM_ID 619 Scalar Radix 4 Complex FFT:test_cfft_radix4_f16 -> CFFT4_PARAM_ID 620 Scalar Radix 2 Complex FFT:test_cfft_radix2_f16 -> CFFT_PARAM_ID 621 } 622 } 623 624 } 625 626 } 627 628 629} 630