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 F32 { 13 class = StatsF32 14 folder = StatsF32 15 16 ParamList { 17 NB 18 Summary NB 19 Names "NB Samples" 20 Formula "NB" 21 } 22 23 Pattern INPUT1_F32_ID : InputBench1_f32.txt 24 Pattern INPUT2_F32_ID : InputBench2_f32.txt 25 26 Output OUT_F32_ID : Output 27 Output OUT_S16_ID : Index 28 Output TMP_F32_ID : Temp 29 30 Params PARAM1_ID = { 31 A = [16,32,64,128,256] 32 } 33 34 Functions { 35 Vector maximum:test_max_f32 36 Vector average:test_mean_f32 37 Vector minimum:test_min_f32 38 Vector energy:test_power_f32 39 Vector root mean square:test_rms_f32 40 Vector standard deviation:test_std_f32 41 Vector variance:test_var_f32 42 Entropy:test_entropy_f32 43 Vector logsumexp:test_logsumexp_f32 44 Kullback Leibler divergence:test_kullback_leibler_f32 45 Vector logsumexp dot product:test_logsumexp_dot_prod_f32 46 Vector max with no index:test_max_no_idx_f32 47 Vector absolute maximum:test_absmax_f32 48 Vector absolute minimum:test_absmin_f32 49 } -> PARAM1_ID 50 51 } 52 53 suite Statistics Benchmarks F64 { 54 class = StatsF64 55 folder = StatsF64 56 57 ParamList { 58 NB 59 Summary NB 60 Names "NB Samples" 61 Formula "NB" 62 } 63 64 Pattern INPUT1_F64_ID : InputBench1_f64.txt 65 Pattern INPUT2_F64_ID : InputBench2_f64.txt 66 67 Output OUT_F64_ID : Output 68 Output OUT_S16_ID : Index 69 Output TMP_F64_ID : Temp 70 71 Params PARAM1_ID = { 72 A = [16,32,64,128,256] 73 } 74 75 Functions { 76 Entropy:test_entropy_f64 77 Kullback Leibler divergence:test_kullback_leibler_f64 78 } -> PARAM1_ID 79 80 } 81 82 suite Statistics Benchmarks Q31 { 83 class = StatsQ31 84 folder = StatsQ31 85 86 ParamList { 87 NB 88 Summary NB 89 Names "NB Samples" 90 Formula "NB" 91 } 92 93 Pattern INPUT1_Q31_ID : InputBench1_q31.txt 94 Pattern INPUT2_Q31_ID : InputBench2_q31.txt 95 96 Output OUT_Q31_ID : Output 97 Output OUT_Q63_ID : Output 98 Output OUT_S16_ID : Index 99 Output TMP_Q31_ID : Temp 100 101 Params PARAM1_ID = { 102 A = [16,32,64,128,256] 103 } 104 105 Functions { 106 Vector maximum:test_max_q31 107 Vector average:test_mean_q31 108 Vector minimum:test_min_q31 109 Vector energy:test_power_q31 110 Vector root mean square:test_rms_q31 111 Vector standard deviation:test_std_q31 112 Vector variance:test_var_q31 113 Vector absolute maximum:test_absmax_q31 114 Vector absolute minimum:test_absmin_q31 115 } -> PARAM1_ID 116 117 } 118 119 suite Statistics Benchmarks Q15 { 120 class = StatsQ15 121 folder = StatsQ15 122 123 ParamList { 124 NB 125 Summary NB 126 Names "NB Samples" 127 Formula "NB" 128 } 129 130 Pattern INPUT1_Q15_ID : InputBench1_q15.txt 131 Pattern INPUT2_Q15_ID : InputBench2_q15.txt 132 133 134 Output OUT_Q15_ID : Output 135 Output OUT_Q63_ID : Output 136 Output OUT_S16_ID : Index 137 Output TMP_Q15_ID : Temp 138 139 Params PARAM1_ID = { 140 A = [16,32,64,128,256] 141 } 142 143 Functions { 144 Vector maximum:test_max_q15 145 Vector average:test_mean_q15 146 Vector minimum:test_min_q15 147 Vector energy:test_power_q15 148 Vector root mean square:test_rms_q15 149 Vector standard deviation:test_std_q15 150 Vector variance:test_var_q15 151 Vector absolute maximum:test_absmax_q15 152 Vector absolute minimum:test_absmin_q15 153 } -> PARAM1_ID 154 155 } 156 157 suite Statistics Benchmarks Q7 { 158 class = StatsQ7 159 folder = StatsQ7 160 161 ParamList { 162 NB 163 Summary NB 164 Names "NB Samples" 165 Formula "NB" 166 } 167 168 Pattern INPUT1_Q7_ID : InputBench1_q7.txt 169 Pattern INPUT2_Q7_ID : InputBench2_q7.txt 170 171 172 Output OUT_Q7_ID : Output 173 Output OUT_Q31_ID : Output 174 Output OUT_S16_ID : Index 175 Output TMP_Q7_ID : Temp 176 177 Params PARAM1_ID = { 178 A = [16,32,64,128,256] 179 } 180 181 Functions { 182 Vector maximum:test_max_q7 183 Vector average:test_mean_q7 184 Vector minimum:test_min_q7 185 Vector energy:test_power_q7 186 Vector absolute maximum:test_absmax_q7 187 Vector absolute minimum:test_absmin_q7 188 } -> PARAM1_ID 189 190 } 191 } 192 193 group Basic Maths { 194 class = BasicBenchmarks 195 folder = BasicMaths 196 197 suite Basic Maths Benchmarks F32 { 198 class = BasicMathsBenchmarksF32 199 folder = BasicMathsF32 200 201 ParamList { 202 NB 203 Summary NB 204 Names "NB Samples" 205 Formula "NB" 206 } 207 208 Pattern INPUT1_F32_ID : Input1_f32.txt 209 Pattern INPUT2_F32_ID : Input2_f32.txt 210 Output OUT_SAMPLES_F32_ID : Output 211 Params PARAM1_ID = { 212 A = [16,32,64,128,256] 213 } 214 215 Functions { 216 Elementwise multiplication:vec_mult_f32 217 Vector addition:vec_add_f32 218 Vector substraction:vec_sub_f32 219 Elementwise absolute value:vec_abs_f32 220 Elementwise negation:vec_negate_f32 221 Elementwise offset:vec_offset_f32 222 Vector scaling:vec_scale_f32 223 Dot product:vec_dot_f32 224 } -> PARAM1_ID 225 } 226 227 suite Basic Maths Benchmarks Q31 { 228 class = BasicMathsBenchmarksQ31 229 folder = BasicMathsQ31 230 231 ParamList { 232 NB 233 Summary NB 234 Names "NB Samples" 235 Formula "NB" 236 } 237 238 Pattern INPUT1_Q31_ID : Input1_q31.txt 239 Pattern INPUT2_Q31_ID : Input2_q31.txt 240 Output OUT_SAMPLES_Q31_ID : Output 241 Params PARAM1_ID = { 242 A = [16,32,64,128,256] 243 } 244 245 Functions { 246 Elementwise multiplication:vec_mult_q31 247 Vector addition:vec_add_q31 248 Vector substraction:vec_sub_q31 249 Elementwise absolute value:vec_abs_q31 250 Elementwise negation:vec_negate_q31 251 Elementwise offset:vec_offset_q31 252 Vector scaling:vec_scale_q31 253 Dot product:vec_dot_q31 254 } -> PARAM1_ID 255 } 256 257 suite Basic Maths Benchmarks Q15 { 258 class = BasicMathsBenchmarksQ15 259 folder = BasicMathsQ15 260 261 ParamList { 262 NB 263 Summary NB 264 Names "NB Samples" 265 Formula "NB" 266 } 267 268 Pattern INPUT1_Q15_ID : Input1_q15.txt 269 Pattern INPUT2_Q15_ID : Input2_q15.txt 270 Output OUT_SAMPLES_Q15_ID : Output 271 Params PARAM1_ID = { 272 A = [16,32,64,128,256] 273 } 274 275 Functions { 276 Elementwise multiplication:vec_mult_q15 277 Vector addition:vec_add_q15 278 Vector substraction:vec_sub_q15 279 Elementwise absolute value:vec_abs_q15 280 Elementwise negation:vec_negate_q15 281 Elementwise offset:vec_offset_q15 282 Vector scaling:vec_scale_q15 283 Dot product:vec_dot_q15 284 } -> PARAM1_ID 285 } 286 287 suite Basic Maths Benchmarks Q7 { 288 class = BasicMathsBenchmarksQ7 289 folder = BasicMathsQ7 290 291 ParamList { 292 NB 293 Summary NB 294 Names "NB Samples" 295 Formula "NB" 296 } 297 298 Pattern INPUT1_Q7_ID : Input1_q7.txt 299 Pattern INPUT2_Q7_ID : Input2_q7.txt 300 Output OUT_SAMPLES_Q7_ID : Output 301 Params PARAM1_ID = { 302 A = [16,32,64,128,256] 303 } 304 305 Functions { 306 Elementwise multiplication:vec_mult_q7 307 Vector addition:vec_add_q7 308 Vector substraction:vec_sub_q7 309 Elementwise absolute value:vec_abs_q7 310 Elementwise negation:vec_negate_q7 311 Elementwise offset:vec_offset_q7 312 Vector scaling:vec_scale_q7 313 Dot product:vec_dot_q7 314 } -> PARAM1_ID 315 } 316 } 317 318 group Complex Maths { 319 class = ComplexBenchmarks 320 folder = ComplexMaths 321 322 suite ComplexMaths Benchmarks F32 { 323 class = ComplexMathsBenchmarksF32 324 folder = ComplexMathsF32 325 326 ParamList { 327 NB 328 Summary NB 329 Names "NB Samples" 330 Formula "NB" 331 } 332 333 Pattern INPUT1_F32_ID : Input1_f32.txt 334 Pattern INPUT2_F32_ID : Input2_f32.txt 335 Pattern INPUT3_F32_ID : Input3_f32.txt 336 Output OUT_SAMPLES_F32_ID : Output 337 Params PARAM1_ID = { 338 A = [16,32,64,128,256] 339 } 340 341 Functions { 342 Elementwise conjugate:vec_conj_f32 343 Complex dot product:vec_dot_prod_f32 344 Elementwise modulus:vec_mag_f32 345 Elementwise modulus squared:vec_mag_squared_f32 346 Elementwise complex multiplication:vec_mult_cmplx_f32 347 Vector scaling by real number:vec_mult_real_f32 348 } -> PARAM1_ID 349 } 350 351 suite ComplexMaths Benchmarks Q31 { 352 class = ComplexMathsBenchmarksQ31 353 folder = ComplexMathsQ31 354 355 ParamList { 356 NB 357 Summary NB 358 Names "NB Samples" 359 Formula "NB" 360 } 361 362 Pattern INPUT1_Q31_ID : Input1_q31.txt 363 Pattern INPUT2_Q31_ID : Input2_q31.txt 364 Pattern INPUT3_Q31_ID : Input3_q31.txt 365 Output OUT_SAMPLES_Q31_ID : Output 366 Params PARAM1_ID = { 367 A = [16,32,64,128,256] 368 } 369 370 Functions { 371 Elementwise conjugate:vec_conj_q31 372 Complex dot product:vec_dot_prod_q31 373 Elementwise modulus:vec_mag_q31 374 Elementwise modulus squared:vec_mag_squared_q31 375 Elementwise complex multiplication:vec_mult_cmplx_q31 376 Vector scaling by real number:vec_mult_real_q31 377 } -> PARAM1_ID 378 } 379 380 suite ComplexMaths Benchmarks Q15 { 381 class = ComplexMathsBenchmarksQ15 382 folder = ComplexMathsQ15 383 384 ParamList { 385 NB 386 Summary NB 387 Names "NB Samples" 388 Formula "NB" 389 } 390 391 Pattern INPUT1_Q15_ID : Input1_q15.txt 392 Pattern INPUT2_Q15_ID : Input2_q15.txt 393 Pattern INPUT3_Q15_ID : Input3_q15.txt 394 Output OUT_SAMPLES_Q15_ID : Output 395 Params PARAM1_ID = { 396 A = [16,32,64,128,256] 397 } 398 399 Functions { 400 Elementwise conjugate:vec_conj_q15 401 Complex dot product:vec_dot_prod_q15 402 Elementwise modulus:vec_mag_q15 403 Elementwise modulus squared:vec_mag_squared_q15 404 Elementwise complex multiplication:vec_mult_cmplx_q15 405 Vector scaling by real number:vec_mult_real_q15 406 } -> PARAM1_ID 407 } 408 } 409 410 group Quaternion Maths { 411 class = QuaternionBenchmarks 412 folder = QuaternionMaths 413 414 suite Quaternion Maths Benchmarks F32 { 415 class = QuaternionMathsBenchmarksF32 416 folder = QuaternionMathsF32 417 418 ParamList { 419 NB 420 Summary NB 421 Names "NB Samples" 422 Formula "NB" 423 } 424 425 Pattern INPUT1_F32_ID : Input1_f32.txt 426 Pattern INPUT2_F32_ID : Input2_f32.txt 427 Pattern INPUT_ROT_F32_ID : Input7_f32.txt 428 429 Output OUT_SAMPLES_F32_ID : Output 430 Params PARAM1_ID = { 431 A = [16,32,64,128] 432 } 433 434 Functions { 435 Quaternion Norm:test_quaternion_norm_f32 436 Quaternion inverse:test_quaternion_inverse_f32 437 Quaternion conjugate:test_quaternion_conjugate_f32 438 Quaternion normalization:test_quaternion_normalize_f32 439 Quaternion product:test_quaternion_prod_single_f32 440 Quaternion Elementwise product:test_quaternion_product_f32 441 Quaternion to rotation:test_quaternion2rotation_f32 442 Rotation to quaternion:test_rotation2quaternion_f32 443 } -> PARAM1_ID 444 } 445 } 446 447 group Filtering { 448 class = DSPFiltering 449 folder = Filtering 450 451 group FIR { 452 class = FIR 453 folder = FIR 454 455 suite FIR F32 { 456 class = FIRF32 457 folder = FIRF32 458 459 ParamList { 460 NumTaps, NB 461 Summary NumTaps, NB 462 Names "Number of taps","Number of samples" 463 Formula "NumTaps * NB" 464 } 465 466 Pattern SAMPLES1_F32_ID : Samples1_f32.txt 467 Pattern REFS1_F32_ID : Refs1_f32.txt 468 Pattern COEFS1_F32_ID : Coefs1_f32.txt 469 470 Output OUT_SAMPLES_F32_ID : Output 471 Output STATE_F32_ID : State 472 Output ERR_F32_ID : Err 473 474 Params PARAM1_ID = { 475 NumTaps = [16,32,64] 476 NB = [64,128,256] 477 } 478 479 Functions { 480 FIR Filter:test_fir_f32 481 LMS Filter:test_lms_f32 482 Normalized LMS Filter:test_lms_norm_f32 483 } -> PARAM1_ID 484 } 485 486 suite FIR Q31 { 487 class = FIRQ31 488 folder = FIRQ31 489 490 ParamList { 491 NumTaps, NB 492 Summary NumTaps, NB 493 Names "Number of taps","Number of samples" 494 Formula "NumTaps * NB" 495 } 496 497 Pattern SAMPLES1_Q31_ID : Samples1_q31.txt 498 Pattern REFS1_Q31_ID : Refs1_q31.txt 499 Pattern COEFS1_Q31_ID : Coefs1_q31.txt 500 501 Output OUT_SAMPLES_Q31_ID : Output 502 Output STATE_Q31_ID : State 503 Output ERR_Q31_ID : Err 504 505 Params PARAM1_ID = { 506 NumTaps = [16,32,64] 507 NB = [64,128,256] 508 } 509 510 Functions { 511 FIR Filter:test_fir_q31 512 LMS Filter:test_lms_q31 513 Normalized LMS Filter:test_lms_norm_q31 514 } -> PARAM1_ID 515 } 516 517 suite FIR Q15 { 518 class = FIRQ15 519 folder = FIRQ15 520 521 ParamList { 522 NumTaps, NB 523 Summary NumTaps, NB 524 Names "Number of taps","Number of samples" 525 Formula "NumTaps * NB" 526 } 527 528 Pattern SAMPLES1_Q15_ID : Samples1_q15.txt 529 Pattern REFS1_Q15_ID : Refs1_q15.txt 530 Pattern COEFS1_Q15_ID : Coefs1_q15.txt 531 532 Output OUT_SAMPLES_Q15_ID : Output 533 Output STATE_Q15_ID : State 534 Output ERR_Q15_ID : Err 535 536 Params PARAM1_ID = { 537 NumTaps = [16,32,64] 538 NB = [64,128,256] 539 } 540 541 Functions { 542 FIR Filter:test_fir_q15 543 LMS Filter:test_lms_q15 544 Normalized LMS Filter:test_lms_norm_q15 545 } -> PARAM1_ID 546 } 547 548 suite FIR Q7 { 549 class = FIRQ7 550 folder = FIRQ7 551 552 ParamList { 553 NumTaps, NB 554 Summary NumTaps, NB 555 Names "Number of taps","Number of samples" 556 Formula "NumTaps * NB" 557 } 558 559 Pattern SAMPLES1_Q7_ID : Samples1_q7.txt 560 Pattern REFS1_Q7_ID : Refs1_q7.txt 561 Pattern COEFS1_Q7_ID : Coefs1_q7.txt 562 563 Output OUT_SAMPLES_Q7_ID : Output 564 Output STATE_Q7_ID : State 565 Output ERR_Q7_ID : Err 566 567 Params PARAM1_ID = { 568 NumTaps = [16,32,64] 569 NB = [64,128,256] 570 } 571 572 Functions { 573 FIR Filter:test_fir_q7 574 } -> PARAM1_ID 575 } 576 } 577 578 group Convolutions / Correlations { 579 class = MISC 580 folder = MISC 581 582 suite Convolutions / Correlations F32 { 583 class = MISCF32 584 folder = MISCF32 585 586 ParamList { 587 NBA, NBB 588 Summary NBA, NBB 589 Names "Number of samples A,Number of samples B" 590 Formula "NBA * NBB" 591 } 592 593 Pattern INPUTSA1_F32_ID : InputsA1_f32.txt 594 Pattern INPUTSB1_F32_ID : InputsB1_f32.txt 595 596 Output OUT_SAMPLES_F32_ID : Output 597 598 Params PARAM1_ID = { 599 NBA = [9,16,64] 600 NBB = [9,16,128] 601 } 602 603 Functions { 604 Convolution:test_conv_f32 605 Correlation:test_correlate_f32 606 } -> PARAM1_ID 607 } 608 609 suite Convolutions / Correlations Q31 { 610 class = MISCQ31 611 folder = MISCQ31 612 613 ParamList { 614 NBA, NBB 615 Summary NBA, NBB 616 Names "Number of samples A,Number of samples B" 617 Formula "NBA * NBB" 618 } 619 620 Pattern INPUTSA1_Q31_ID : InputsA1_q31.txt 621 Pattern INPUTSB1_Q31_ID : InputsB1_q31.txt 622 623 Output OUT_SAMPLES_Q31_ID : Output 624 625 Params PARAM1_ID = { 626 NBA = [9,16,64] 627 NBB = [9,16,128] 628 } 629 630 Functions { 631 Convolution:test_conv_q31 632 Correlation:test_correlate_q31 633 } -> PARAM1_ID 634 } 635 636 suite Convolutions / Correlations Q15 { 637 class = MISCQ15 638 folder = MISCQ15 639 640 ParamList { 641 NBA, NBB 642 Summary NBA, NBB 643 Names "Number of samples A,Number of samples B" 644 Formula "NBA * NBB" 645 } 646 647 Pattern INPUTSA1_Q15_ID : InputsA1_q15.txt 648 Pattern INPUTSB1_Q15_ID : InputsB1_q15.txt 649 650 Output OUT_SAMPLES_Q15_ID : Output 651 652 Params PARAM1_ID = { 653 NBA = [9,16,64] 654 NBB = [9,16,128] 655 } 656 657 Functions { 658 Convolution:test_conv_q15 659 Correlation:test_correlate_q15 660 } -> PARAM1_ID 661 } 662 663 suite Convolutions / Correlations Q7 { 664 class = MISCQ7 665 folder = MISCQ7 666 667 ParamList { 668 NBA, NBB 669 Summary NBA, NBB 670 Names "Number of samples A,Number of samples B" 671 Formula "NBA * NBB" 672 } 673 674 Pattern INPUTSA1_Q7_ID : InputsA1_q7.txt 675 Pattern INPUTSB1_Q7_ID : InputsB1_q7.txt 676 677 Output OUT_SAMPLES_Q7_ID : Output 678 679 Params PARAM1_ID = { 680 NBA = [9,16,64] 681 NBB = [9,16,128] 682 } 683 684 Functions { 685 Convolution:test_conv_q7 686 Correlation:test_correlate_q7 687 } -> PARAM1_ID 688 } 689 } 690 691 group Decimations / Interpolations { 692 class = DECIM 693 folder = DECIM 694 695 suite Decimations / Interpolations F32 { 696 class = DECIMF32 697 folder = DECIMF32 698 699 ParamList { 700 NumTaps, NB, Factor 701 Summary NumTaps, NB, Factor 702 Names "Number of taps","Number of samples","Decimation or Interpolation factor" 703 Formula "NumTaps * NB * Factor" 704 } 705 706 Pattern SAMPLES1_F32_ID : Samples1_f32.txt 707 Pattern COEFS1_F32_ID : Coefs1_f32.txt 708 709 Output OUT_SAMPLES_F32_ID : Output 710 Output STATE_F32_ID : State 711 712 Params PARAM_DECIM_ID : Params1.txt 713 Params PARAM_INTERPOL_ID : Params2.txt 714 715 Functions { 716 Decimation:test_fir_decimate_f32 -> PARAM_DECIM_ID 717 Interpolation:test_fir_interpolate_f32 -> PARAM_INTERPOL_ID 718 } 719 } 720 721 suite Decimations / Interpolations Q31 { 722 class = DECIMQ31 723 folder = DECIMQ31 724 725 ParamList { 726 NumTaps, NB, Factor 727 Summary NumTaps, NB, Factor 728 Names "Number of taps","Number of samples","Decimation or Interpolation factor" 729 Formula "NumTaps * NB * Factor" 730 } 731 732 Pattern SAMPLES1_Q31_ID : Samples1_q31.txt 733 Pattern COEFS1_Q31_ID : Coefs1_q31.txt 734 735 Output OUT_SAMPLES_Q31_ID : Output 736 Output STATE_Q31_ID : State 737 738 Params PARAM_DECIM_ID : Params1.txt 739 Params PARAM_INTERPOL_ID : Params2.txt 740 741 Functions { 742 Decimation:test_fir_decimate_q31 -> PARAM_DECIM_ID 743 Interpolation:test_fir_interpolate_q31 -> PARAM_INTERPOL_ID 744 } 745 } 746 747 suite Decimations / Interpolations Q15 { 748 class = DECIMQ15 749 folder = DECIMQ15 750 751 ParamList { 752 NumTaps, NB, Factor 753 Summary NumTaps, NB, Factor 754 Names "Number of taps","Number of samples","Decimation or Interpolation factor" 755 Formula "NumTaps * NB * Factor" 756 } 757 758 Pattern SAMPLES1_Q15_ID : Samples1_q15.txt 759 Pattern COEFS1_Q15_ID : Coefs1_q15.txt 760 761 Output OUT_SAMPLES_Q15_ID : Output 762 Output STATE_Q15_ID : State 763 764 Params PARAM_DECIM_ID : Params1.txt 765 Params PARAM_INTERPOL_ID : Params2.txt 766 767 Functions { 768 Decimation:test_fir_decimate_q15 -> PARAM_DECIM_ID 769 Interpolation:test_fir_interpolate_q15 -> PARAM_INTERPOL_ID 770 } 771 } 772 } 773 774 group BiQuads { 775 class = BIQUAD 776 folder = BIQUAD 777 778 suite BiQuads F32 { 779 class = BIQUADF32 780 folder = BIQUADF32 781 782 ParamList { 783 NumStages, NB 784 Summary NumStages, NB 785 Names "Number of stages","Number of samples" 786 Formula "NumStages * NB" 787 } 788 789 Pattern SAMPLES1_F32_ID : Samples1_f32.txt 790 Pattern COEFS1_F32_ID : Coefs1_f32.txt 791 792 Output OUT_SAMPLES_F32_ID : Output 793 Output STATE_F32_ID : State 794 Output NEON_COEFS_F32_ID : NeonCoefs 795 796 Params PARAM1_ID = { 797 NumStages = [1,2,4] 798 NB = [16,128,256] 799 } 800 801 Functions { 802 Cascaded BiQuad Filter DF1:test_biquad_cascade_df1_f32 803 Cascaded BiQuad Filter DF2T:test_biquad_cascade_df2T_f32 804 Cascaded BiQuad Filter Stereo DF2T:test_biquad_cascade_stereo_df2T_f32 805 } -> PARAM1_ID 806 } 807 808 suite BiQuads F64 { 809 class = BIQUADF64 810 folder = BIQUADF64 811 812 ParamList { 813 NumStages, NB 814 Summary NumStages, NB 815 Names "Number of stages","Number of samples" 816 Formula "NumStages * NB" 817 } 818 819 Pattern SAMPLES1_F64_ID : Samples1_f64.txt 820 Pattern COEFS1_F64_ID : Coefs1_f64.txt 821 822 Output OUT_SAMPLES_F64_ID : Output 823 Output STATE_F64_ID : State 824 825 Params PARAM1_ID = { 826 NumStages = [1,2,4] 827 NB = [16,128,256] 828 } 829 830 Functions { 831 Cascaded BiQuad Filter DF2T:test_biquad_cascade_df2T_f64 832 } -> PARAM1_ID 833 } 834 } 835 } 836 837 group Controller { 838 class = Controller 839 folder = Controller 840 841 suite Controller F32 { 842 class = ControllerF32 843 folder = ControllerF32 844 845 ParamList { 846 NB 847 Summary NB 848 Names "Number of samples" 849 Formula "NB" 850 } 851 852 Pattern SAMPLES_F32_ID : Samples1_f32.txt 853 Output OUT_SAMPLES_F32_ID : Output 854 855 Params PARAM1_ID = { 856 NB = [64,128,256] 857 } 858 859 Functions { 860 PID:test_pid_f32 861 Clarke Transform:test_clarke_f32 862 Inverse Clarke Transform:test_inv_clarke_f32 863 Park Transform:test_park_f32 864 Inverse Park Transform:test_inv_park_f32 865 Sin Cos:test_sin_cos_f32 866 } -> PARAM1_ID 867 } 868 869 suite Controller Q31 { 870 class = ControllerQ31 871 folder = ControllerQ31 872 873 ParamList { 874 NB 875 Summary NB 876 Names "Number of samples" 877 Formula "NB" 878 } 879 880 Pattern SAMPLES_Q31_ID : Samples1_q31.txt 881 Output OUT_SAMPLES_Q31_ID : Output 882 883 Params PARAM1_ID = { 884 NB = [64,128,256] 885 } 886 887 Functions { 888 PID:test_pid_q31 889 Clarke Transform:test_clarke_q31 890 Inverse Clarke Transform:test_inv_clarke_q31 891 Park Transform:test_park_q31 892 Inverse Park Transform:test_inv_park_q31 893 Sin Cos:test_sin_cos_q31 894 } -> PARAM1_ID 895 } 896 897 suite Controller Q15 { 898 class = ControllerQ15 899 folder = ControllerQ15 900 901 ParamList { 902 NB 903 Summary NB 904 Names "Number of samples" 905 Formula "NB" 906 } 907 908 Pattern SAMPLES_Q15_ID : Samples1_q15.txt 909 Output OUT_SAMPLES_Q15_ID : Output 910 911 Params PARAM1_ID = { 912 NB = [64,128,256] 913 } 914 915 Functions { 916 PID:test_pid_q15 917 } -> PARAM1_ID 918 } 919 } 920 921 group Fast Maths { 922 class = FastMath 923 folder = FastMath 924 925 suite Fast Maths F32 { 926 class = FastMathF32 927 folder = FastMathF32 928 929 ParamList { 930 NB 931 Summary NB 932 Names "Number of samples" 933 Formula "NB" 934 } 935 936 Pattern SAMPLES_F32_ID : Samples1_f32.txt 937 Output OUT_SAMPLES_F32_ID : Output 938 939 Params PARAM1_ID = { 940 NB = [64,128,256] 941 } 942 943 Functions { 944 Cosine:test_cos_f32 945 Sine:test_sin_f32 946 Square Root:test_sqrt_f32 947 } -> PARAM1_ID 948 } 949 950 suite Fast Maths Q31 { 951 class = FastMathQ31 952 folder = FastMathQ31 953 954 ParamList { 955 NB 956 Summary NB 957 Names "Number of samples" 958 Formula "NB" 959 } 960 961 Pattern SAMPLES_Q31_ID : Samples1_q31.txt 962 Output OUT_SAMPLES_Q31_ID : Output 963 964 Params PARAM1_ID = { 965 NB = [64,128,256] 966 } 967 968 Functions { 969 Cosine:test_cos_q31 970 Sine:test_sin_q31 971 Square Root:test_sqrt_q31 972 } -> PARAM1_ID 973 } 974 975 suite Fast Maths Q15 { 976 class = FastMathQ15 977 folder = FastMathQ15 978 979 ParamList { 980 NB 981 Summary NB 982 Names "Number of samples" 983 Formula "NB" 984 } 985 986 Pattern SAMPLES_Q15_ID : Samples1_q15.txt 987 Output OUT_SAMPLES_Q15_ID : Output 988 989 Params PARAM1_ID = { 990 NB = [64,128,256] 991 } 992 993 Functions { 994 Cosine:test_cos_q15 995 Sine:test_sin_q15 996 Square Root:test_sqrt_q15 997 } -> PARAM1_ID 998 } 999 } 1000 1001 group Bayes{ 1002 class = Bayes 1003 folder = Bayes 1004 1005 suite Bayes F32 { 1006 class = BayesF32 1007 folder = BayesF32 1008 1009 ParamList { 1010 VECDIM,NBCLASSES 1011 Summary VECDIM,NBCLASSES 1012 Names "Vector dimension","Number of classes" 1013 Formula "VECDIM*NBCLASSES" 1014 } 1015 1016 Pattern DIMS2_S16_ID : DimsBench2_s16.txt 1017 Pattern INPUTS2_F32_ID : Inputs2_f32.txt 1018 Pattern PARAMS2_F32_ID : Params2_f32.txt 1019 Pattern PREDICTS2_S16_ID : Predicts2_s16.txt 1020 1021 Output OUT_PROBA_F32_ID : Probas 1022 Output OUT_PREDICT_S16_ID : Predicts 1023 1024 // Must be consistent with the Python script 1025 Params PARAM1_ID = { 1026 VECDIM = [12,14,20] 1027 NBCLASSES = [3,5,4] 1028 } 1029 1030 Functions { 1031 Naive Gaussian Bayes Predictor:test_gaussian_naive_bayes_predict_f32 1032 } -> PARAM1_ID 1033 } 1034 } 1035 1036 group Distance { 1037 class = Distance 1038 folder = Distance 1039 1040 suite Distance F32 { 1041 class = DistanceF32 1042 folder = DistanceF32 1043 1044 ParamList { 1045 NB 1046 Summary NB 1047 Names "NB Samples" 1048 Formula "NB" 1049 } 1050 1051 Pattern INPUTA_F32_ID : InputBenchA1_f32.txt 1052 Pattern INPUTB_F32_ID : InputBenchB1_f32.txt 1053 1054 Pattern INPUTA_PROBA_F32_ID : InputBenchProbaA1_f32.txt 1055 Pattern INPUTB_PROBA_F32_ID : InputBenchProbaB1_f32.txt 1056 1057 Output TMPA_F32_ID : TmpA 1058 Output TMPB_F32_ID : TmpB 1059 1060 Params PARAM1_ID = { 1061 NB = [16,32,64,128,256] 1062 } 1063 1064 Functions { 1065 Bray Curtis distance:test_braycurtis_distance_f32 1066 Canberra distance:test_canberra_distance_f32 1067 Chebyshev distance:test_chebyshev_distance_f32 1068 Cityblock distance:test_cityblock_distance_f32 1069 Correlation distance:test_correlation_distance_f32 1070 Cosine distance:test_cosine_distance_f32 1071 Euclidean distance:test_euclidean_distance_f32 1072 Jensen Shannon distance:test_jensenshannon_distance_f32 1073 Minkowski distance:test_minkowski_distance_f32 1074 } -> PARAM1_ID 1075 } 1076 1077 suite Distance U32 { 1078 class = DistanceU32 1079 folder = DistanceU32 1080 1081 ParamList { 1082 NB 1083 Summary NB 1084 Names "NB Bits" 1085 Formula "NB" 1086 } 1087 1088 Pattern INPUTA_U32_ID : InputBenchA1_u32.txt 1089 Pattern INPUTB_U32_ID : InputBenchB1_u32.txt 1090 1091 1092 Params PARAM1_ID = { 1093 NB = [512, 1024, 2048, 4096, 8192] 1094 } 1095 1096 1097 Functions { 1098 Dice distance:test_dice_distance_u32 1099 Hamming distance:test_hamming_distance_u32 1100 Jaccard distance:test_jaccard_distance_u32 1101 Kulsinski distance:test_kulsinski_distance_u32 1102 Roger Stanimoto distance:test_rogerstanimoto_distance_u32 1103 Russell Rao distance:test_russellrao_distance_u32 1104 Sokal Michener distance:test_sokalmichener_distance_u32 1105 Sokal Sneath distance:test_sokalsneath_distance_u32 1106 Yule distance:test_yule_distance_u32 1107 } -> PARAM1_ID 1108 } 1109 } 1110 1111 group SVM { 1112 class = SVM 1113 folder = SVM 1114 1115 suite SVM F32 { 1116 class = SVMF32 1117 folder = SVMF32 1118 1119 ParamList { 1120 VECDIM,NBVECS 1121 Summary VECDIM,NBVECS 1122 Names "Vector dimension","Number of suppot vectors" 1123 Formula "VECDIM*NBVECS" 1124 } 1125 1126 Pattern INPUT_F32_ID : InputsBench6_f32.txt 1127 1128 Pattern DIMS_LINEAR_S16_ID : DimsLinear6_s16.txt 1129 Pattern PARAMS_LINEAR_F32_ID : ParamsLinear6_f32.txt 1130 1131 Pattern DIMS_POLY_S16_ID : DimsPoly6_s16.txt 1132 Pattern PARAMS_POLY_F32_ID : ParamsPoly6_f32.txt 1133 1134 Pattern DIMS_RBF_S16_ID : DimsRBF6_s16.txt 1135 Pattern PARAMS_RBF_F32_ID : ParamsRBF6_f32.txt 1136 1137 Pattern DIMS_SIGMOID_S16_ID : DimsSigmoid6_s16.txt 1138 Pattern PARAMS_SIGMOID_F32_ID : ParamsSigmoid6_f32.txt 1139 1140 Output OUT_S32_ID : Output 1141 1142 // Must be consistent with the Python script 1143 Params PARAM1_ID = { 1144 VECDIM = [16,32,64] 1145 NBVECS = [8,16,32] 1146 } 1147 1148 Functions { 1149 Linear SVM:test_svm_linear_predict_f32 1150 Polynomial SVM:test_svm_polynomial_predict_f32 1151 RBF SVM:test_svm_rbf_predict_f32 1152 Sigmoid SVM:test_svm_sigmoid_predict_f32 1153 } -> PARAM1_ID 1154 } 1155 } 1156 1157 group Barycenter { 1158 class = Barycenter 1159 1160 suite Barycenter { 1161 class = SupportBarF32 1162 folder = SupportBarF32 1163 1164 ParamList { 1165 NB,VECDIM 1166 Summary NB,VECDIM 1167 Names "Number of samples","Vector dimension" 1168 Formula "NB*VECDIM" 1169 } 1170 1171 Pattern SAMPLES_F32_ID : Samples1_f32.txt 1172 Pattern COEFS_F32_ID : Coefs1_f32.txt 1173 Output OUT_SAMPLES_F32_ID : Output 1174 1175 Params PARAM1_ID = { 1176 NB = [16,64,128] 1177 VECDIM = [5,10,15] 1178 } 1179 1180 Functions { 1181 Barycenter:test_barycenter_f32 1182 } -> PARAM1_ID 1183 1184 } 1185 1186 } 1187 1188 group Support Functions { 1189 class = Support 1190 folder = Support 1191 1192 suite Support Functions F32 { 1193 class = SupportF32 1194 folder = SupportF32 1195 1196 ParamList { 1197 NB 1198 Summary NB 1199 Names "Number of samples" 1200 Formula "NB" 1201 } 1202 1203 Pattern SAMPLES_F32_ID : Samples1_f32.txt 1204 Pattern SAMPLES_Q15_ID : Samples3_q15.txt 1205 Pattern SAMPLES_Q31_ID : Samples4_q31.txt 1206 Pattern SAMPLES_Q7_ID : Samples5_q7.txt 1207 1208 Pattern INPUTS6_F32_ID : Inputs6_f32.txt 1209 Pattern WEIGHTS6_F32_ID : Weights6_f32.txt 1210 Pattern REF6_F32_ID : Ref6_f32.txt 1211 1212 Output OUT_SAMPLES_F32_ID : Output 1213 1214 Params PARAM1_ID = { 1215 NB = [64,128,256] 1216 } 1217 1218 Functions { 1219 Vector Copy:test_copy_f32 1220 Vector Filling:test_fill_f32 1221 Elementwise q15 to f32:test_q15_to_f32 1222 Elementwise q31 to f32:test_q31_to_f32 1223 Elementwise q7 to f32:test_q7_to_f32 1224 Weighted sum:test_weighted_sum_f32 1225 } -> PARAM1_ID 1226 } 1227 1228 suite Support Functions Q31 { 1229 class = SupportQ31 1230 folder = SupportQ31 1231 1232 ParamList { 1233 NB 1234 Summary NB 1235 Names "Number of samples" 1236 Formula "NB" 1237 } 1238 1239 Pattern SAMPLES_Q31_ID : Samples4_q31.txt 1240 Pattern SAMPLES_Q15_ID : Samples3_q15.txt 1241 Pattern SAMPLES_Q7_ID : Samples5_q7.txt 1242 Output OUT_SAMPLES_Q31_ID : Output 1243 1244 Params PARAM1_ID = { 1245 NB = [64,128,256] 1246 } 1247 1248 Functions { 1249 Vector Copy:test_copy_q31 1250 Vector Filling:test_fill_q31 1251 Elementwise q15 to q31:test_q15_to_q31 1252 Elementwise q7 to q31:test_q7_to_q31 1253 } -> PARAM1_ID 1254 } 1255 1256 suite Support Functions Q15 { 1257 class = SupportQ15 1258 folder = SupportQ15 1259 1260 ParamList { 1261 NB 1262 Summary NB 1263 Names "Number of samples" 1264 Formula "NB" 1265 } 1266 1267 Pattern SAMPLES_Q15_ID : Samples3_q15.txt 1268 Pattern SAMPLES_Q31_ID : Samples4_q31.txt 1269 Pattern SAMPLES_Q7_ID : Samples5_q7.txt 1270 Output OUT_SAMPLES_Q15_ID : Output 1271 1272 Params PARAM1_ID = { 1273 NB = [64,128,256] 1274 } 1275 1276 Functions { 1277 Vector Copy:test_copy_q15 1278 Vector Filling:test_fill_q15 1279 Elementwise q31 to q15:test_q31_to_q15 1280 Elementwise q7 to q15:test_q7_to_q15 1281 } -> PARAM1_ID 1282 } 1283 1284 suite Support Functions Q7 { 1285 class = SupportQ7 1286 folder = SupportQ7 1287 1288 ParamList { 1289 NB 1290 Summary NB 1291 Names "Number of samples" 1292 Formula "NB" 1293 } 1294 1295 Pattern SAMPLES_Q7_ID : Samples5_q7.txt 1296 Pattern SAMPLES_Q31_ID : Samples4_q31.txt 1297 Pattern SAMPLES_Q15_ID : Samples3_q15.txt 1298 Output OUT_SAMPLES_Q7_ID : Output 1299 1300 Params PARAM1_ID = { 1301 NB = [64,128,256] 1302 } 1303 1304 Functions { 1305 Vector Copy:test_copy_q7 1306 Vector Filling:test_fill_q7 1307 Elementwise q31 to q7:test_q31_to_q7 1308 Elementwise q15 to q7:test_q15_to_q7 1309 } -> PARAM1_ID 1310 } 1311 } 1312 1313 group Matrix { 1314 class = Matrix 1315 folder = Matrix 1316 1317 group Matrix Operators with one matrix size { 1318 class = Unary 1319 folder = Unary 1320 1321 suite Unary Matrix Operators F32 { 1322 class = UnaryF32 1323 folder = UnaryF32 1324 1325 ParamList { 1326 NBR,NBC 1327 Summary NBR,NBC 1328 Names "Number of rows","Number of columns" 1329 Formula "NBR*NBC" 1330 } 1331 1332 Pattern INPUTA_F32_ID : InputA1_f32.txt 1333 Pattern INPUTAC_F32_ID : InputAC1_f32.txt 1334 Pattern INPUTVEC1_F32_ID : InputVec1_f32.txt 1335 1336 Pattern DIMSCHOLESKY1_DPO_S16_ID : DimsCholeskyDPO1_s16.txt 1337 Pattern DIMSCHOLESKY1_SDPO_S16_ID : DimsCholeskySDPO1_s16.txt 1338 Pattern INPUTSCHOLESKY1_DPO_F32_ID : InputCholeskyDPO1_f32.txt 1339 Pattern INPUTSCHOLESKY1_SDPO_F32_ID : InputCholeskySDPO1_f32.txt 1340 1341 Pattern REFCHOLESKY1_DPO_F32_ID : RefCholeskyDPO1_f32.txt 1342 1343 Pattern REFLDLT_D_DPO1_F32_ID : RefLDLT_D_DPO1_f32.txt 1344 Pattern REFLDLT_LL_DPO1_F32_ID : RefLDLT_LL_DPO1_f32.txt 1345 Pattern REFLDLT_PERM_DPO1_F32_ID : RefLDLT_PERM_DPO1_s16.txt 1346 1347 Pattern REFLDLT_D_SDPO1_F32_ID : RefLDLT_D_SDPO1_f32.txt 1348 Pattern REFLDLT_LL_SDPO1_F32_ID : RefLDLT_LL_SDPO1_f32.txt 1349 Pattern REFLDLT_PERM_SDPO1_F32_ID : RefLDLT_PERM_SDPO1_s16.txt 1350 1351 Pattern INPUT_UT_DPO_F32_ID : InputUTDPO1_f32.txt 1352 Pattern INPUT_LT_DPO_F32_ID : InputLTDPO1_f32.txt 1353 Pattern INPUT_RNDA_DPO_F32_ID : InputRNDA1_f32.txt 1354 1355 Pattern REF_UTINV_DPO_F32_ID : Ref_UTINV_DPO1_f32.txt 1356 Pattern REF_LTINV_DPO_F32_ID : Ref_LTINV_DPO1_f32.txt 1357 Pattern REF_CHOLINV_DPO_F32_ID : Ref_CHOLINV_DPO1_f32.txt 1358 1359 Output D_F32_ID : Output 1360 Output LL_F32_ID : Output 1361 Output PERM_S16_ID : Output 1362 1363 Output TMPA_F32_ID : TempA 1364 Output TMPB_F32_ID : TempB 1365 Output OUT_F32_ID : Output 1366 1367 Params PARAM1_ID = { 1368 NBR = [5,10,40] 1369 NBC = [5,10,40] 1370 } 1371 1372 Params PARAM_CHOLESKY_ID : ParamsCholesky1.txt 1373 1374 Functions { 1375 Matrix Scaling:test_mat_scale_f32 1376 Matrix Inversion:test_mat_inverse_f32 1377 Matrix Transpose:test_mat_trans_f32 1378 Matrix Addition:test_mat_add_f32 1379 Matrix Substraction:test_mat_sub_f32 1380 Matrix Vector Multiplication:test_mat_vec_mult_f32 1381 Matrix Complex Transpose:test_mat_cmplx_trans_f32 1382 Cholesky decomposition:test_mat_cholesky_dpo_f32 -> PARAM_CHOLESKY_ID 1383 Backward substitution:test_solve_upper_triangular_f32 -> PARAM_CHOLESKY_ID 1384 Foward substitution:test_solve_lower_triangular_f32 -> PARAM_CHOLESKY_ID 1385 LDLT decomposition:test_ldlt_decomposition_f32 -> PARAM_CHOLESKY_ID 1386 } -> PARAM1_ID 1387 } 1388 1389 suite Unary Matrix Operators Q31 { 1390 class = UnaryQ31 1391 folder = UnaryQ31 1392 1393 ParamList { 1394 NBR,NBC 1395 Summary NBR,NBC 1396 Names "Number of rows","Number of columns" 1397 Formula "NBR*NBC" 1398 } 1399 1400 Pattern INPUTA_Q31_ID : InputA1_q31.txt 1401 Pattern INPUTAC_Q31_ID : InputAC1_q31.txt 1402 Pattern INPUTVEC1_Q31_ID : InputVec1_q31.txt 1403 1404 Output OUT_Q31_ID : Output 1405 1406 Params PARAM1_ID = { 1407 NBR = [5,10,40] 1408 NBC = [5,10,40] 1409 } 1410 1411 Functions { 1412 Matrix Scaling:test_mat_scale_q31 1413 Matrix Transpose:test_mat_trans_q31 1414 Matrix Addition:test_mat_add_q31 1415 Matrix Substraction:test_mat_sub_q31 1416 Matrix Vector Multiplication:test_mat_vec_mult_q31 1417 Matrix Complex Transpose:test_mat_cmplx_trans_q31 1418 } -> PARAM1_ID 1419 } 1420 1421 suite Unary Matrix Operators Q15 { 1422 class = UnaryQ15 1423 folder = UnaryQ15 1424 1425 ParamList { 1426 NBR,NBC 1427 Summary NBR,NBC 1428 Names "Number of rows","Number of columns" 1429 Formula "NBR*NBC" 1430 } 1431 1432 Pattern INPUTA_Q15_ID : InputA1_q15.txt 1433 Pattern INPUTAC_Q15_ID : InputAC1_q15.txt 1434 Pattern INPUTVEC1_Q15_ID : InputVec1_q15.txt 1435 Output OUT_Q15_ID : Output 1436 1437 Params PARAM1_ID = { 1438 NBR = [5,10,40] 1439 NBC = [5,10,40] 1440 } 1441 1442 Functions { 1443 Matrix Scaling:test_mat_scale_q15 1444 Matrix Transpose:test_mat_trans_q15 1445 Matrix Addition:test_mat_add_q15 1446 Matrix Substraction:test_mat_sub_q15 1447 Matrix Vector Multiplication:test_mat_vec_mult_q15 1448 Matrix Complex Transpose:test_mat_cmplx_trans_q15 1449 } -> PARAM1_ID 1450 } 1451 1452 suite Unary Matrix Operators Q7 { 1453 class = UnaryQ7 1454 folder = UnaryQ7 1455 1456 ParamList { 1457 NBR,NBC 1458 Summary NBR,NBC 1459 Names "Number of rows","Number of columns" 1460 Formula "NBR*NBC" 1461 } 1462 1463 Pattern INPUTA_Q7_ID : InputA1_q7.txt 1464 Pattern INPUTVEC1_Q7_ID : InputVec1_q7.txt 1465 Output OUT_Q7_ID : Output 1466 1467 Params PARAM1_ID = { 1468 NBR = [5,10,40] 1469 NBC = [5,10,40] 1470 } 1471 1472 Functions { 1473 Matrix Transpose:test_mat_trans_q7 1474 Matrix Vector Multiplication:test_mat_vec_mult_q7 1475 } -> PARAM1_ID 1476 } 1477 1478 1479 suite Unary Matrix Operators F64 { 1480 class = UnaryF64 1481 folder = UnaryF64 1482 1483 ParamList { 1484 NBR,NBC 1485 Summary NBR,NBC 1486 Names "Number of rows","Number of columns" 1487 Formula "NBR*NBC" 1488 } 1489 1490 Pattern INPUTA_F64_ID : InputA1_f64.txt 1491 1492 Pattern DIMSCHOLESKY1_DPO_S16_ID : DimsCholeskyDPO1_s16.txt 1493 Pattern DIMSCHOLESKY1_SDPO_S16_ID : DimsCholeskySDPO1_s16.txt 1494 Pattern INPUTSCHOLESKY1_DPO_F64_ID : InputCholeskyDPO1_f64.txt 1495 Pattern INPUTSCHOLESKY1_SDPO_F64_ID : InputCholeskySDPO1_f64.txt 1496 1497 Pattern REFCHOLESKY1_DPO_F64_ID : RefCholeskyDPO1_f64.txt 1498 1499 Pattern REFLDLT_D_DPO1_F64_ID : RefLDLT_D_DPO1_f64.txt 1500 Pattern REFLDLT_LL_DPO1_F64_ID : RefLDLT_LL_DPO1_f64.txt 1501 Pattern REFLDLT_PERM_DPO1_F64_ID : RefLDLT_PERM_DPO1_s16.txt 1502 1503 Pattern REFLDLT_D_SDPO1_F64_ID : RefLDLT_D_SDPO1_f64.txt 1504 Pattern REFLDLT_LL_SDPO1_F64_ID : RefLDLT_LL_SDPO1_f64.txt 1505 Pattern REFLDLT_PERM_SDPO1_F64_ID : RefLDLT_PERM_SDPO1_s16.txt 1506 1507 Pattern INPUT_UT_DPO_F64_ID : InputUTDPO1_f64.txt 1508 Pattern INPUT_LT_DPO_F64_ID : InputLTDPO1_f64.txt 1509 Pattern INPUT_RNDA_DPO_F64_ID : InputRNDA1_f64.txt 1510 1511 Pattern REF_UTINV_DPO_F64_ID : Ref_UTINV_DPO1_f64.txt 1512 Pattern REF_LTINV_DPO_F64_ID : Ref_LTINV_DPO1_f64.txt 1513 Pattern REF_CHOLINV_DPO_F64_ID : Ref_CHOLINV_DPO1_f64.txt 1514 1515 Output TMPA_F64_ID : TempA 1516 Output TMPB_F64_ID : TempB 1517 Output OUT_F64_ID : Output 1518 1519 Params PARAM1_ID = { 1520 NBR = [5,10,40] 1521 NBC = [5,10,40] 1522 } 1523 1524 Params PARAM_CHOLESKY_ID : ParamsCholesky1.txt 1525 1526 Functions { 1527 Matrix Inversion:test_mat_inverse_f64 1528 Cholesky decomposition:test_mat_cholesky_dpo_f64 -> PARAM_CHOLESKY_ID 1529 Backward substitution:test_solve_upper_triangular_f64 -> PARAM_CHOLESKY_ID 1530 Foward substitution:test_solve_lower_triangular_f64 -> PARAM_CHOLESKY_ID 1531 } -> PARAM1_ID 1532 } 1533 } 1534 1535 group Matrix Operators with two matrix sizes { 1536 class = Binary 1537 folder = Binary 1538 1539 suite Binary Matrix Operators F32 { 1540 class = BinaryF32 1541 folder = BinaryF32 1542 1543 ParamList { 1544 NBR,NBI,NBC 1545 Summary NBR,NBI,NBC 1546 Names "Number of rows","Inner dimensions","Number of columns" 1547 Formula "NBR*NBI*NBC" 1548 } 1549 1550 Pattern INPUTA_F32_ID : InputA1_f32.txt 1551 Pattern INPUTB_F32_ID : InputB1_f32.txt 1552 1553 Pattern INPUTAC_F32_ID : InputAC1_f32.txt 1554 Pattern INPUTBC_F32_ID : InputBC1_f32.txt 1555 Output OUT_F32_ID : Output 1556 1557 Params PARAM1_ID = { 1558 NBR = [5,10,40] 1559 NBI = [5,10,40] 1560 NBC = [5,10,40] 1561 } 1562 1563 1564 Functions { 1565 Matrix Multiplication:test_mat_mult_f32 1566 Complex Matrix Multiplication:test_mat_cmplx_mult_f32 1567 } -> PARAM1_ID 1568 } 1569 1570 suite Binary Matrix Operators Q31 { 1571 class = BinaryQ31 1572 folder = BinaryQ31 1573 1574 ParamList { 1575 NBR,NBI,NBC 1576 Summary NBR,NBI,NBC 1577 Names "Number of rows","Inner dimensions","Number of columns" 1578 Formula "NBR*NBI*NBC" 1579 } 1580 1581 Pattern INPUTA_Q31_ID : InputA1_q31.txt 1582 Pattern INPUTB_Q31_ID : InputB1_q31.txt 1583 Pattern INPUTAC_Q31_ID : InputAC1_q31.txt 1584 Pattern INPUTBC_Q31_ID : InputBC1_q31.txt 1585 Output OUT_Q31_ID : Output 1586 Output TMP_Q31_ID : Temp 1587 1588 Params PARAM1_ID = { 1589 NBR = [5,10,40] 1590 NBI = [5,10,40] 1591 NBC = [5,10,40] 1592 } 1593 1594 1595 Functions { 1596 Matrix Multiplication:test_mat_mult_q31 1597 Complex Matrix Multiplication:test_mat_cmplx_mult_q31 1598 Fast Matrix Multiplication:test_mat_mult_fast_q31 1599 Opt Matrix Multiplication:test_mat_mult_opt_q31 1600 } -> PARAM1_ID 1601 } 1602 1603 suite Binary Matrix Operators Q15 { 1604 class = BinaryQ15 1605 folder = BinaryQ15 1606 1607 ParamList { 1608 NBR,NBI,NBC 1609 Summary NBR,NBI,NBC 1610 Names "Number of rows","Inner dimensions","Number of columns" 1611 Formula "NBR*NBI*NBC" 1612 } 1613 1614 Pattern INPUTA_Q15_ID : InputA1_q15.txt 1615 Pattern INPUTB_Q15_ID : InputB1_q15.txt 1616 Pattern INPUTAC_Q15_ID : InputAC1_q15.txt 1617 Pattern INPUTBC_Q15_ID : InputBC1_q15.txt 1618 Output OUT_Q15_ID : Output 1619 Output TMP_Q15_ID : Temp 1620 1621 Params PARAM1_ID = { 1622 NBR = [5,10,40] 1623 NBI = [5,10,40] 1624 NBC = [5,10,40] 1625 } 1626 1627 Functions { 1628 Matrix Multiplication:test_mat_mult_q15 1629 Complex Matrix Multiplication:test_mat_cmplx_mult_q15 1630 Fast Matrix Multiplication:test_mat_mult_fast_q15 1631 } -> PARAM1_ID 1632 } 1633 1634 suite Binary Matrix Operators Q7 { 1635 class = BinaryQ7 1636 folder = BinaryQ7 1637 1638 ParamList { 1639 NBR,NBI,NBC 1640 Summary NBR,NBI,NBC 1641 Names "Number of rows","Inner dimensions","Number of columns" 1642 Formula "NBR*NBI*NBC" 1643 } 1644 1645 Pattern INPUTA_Q7_ID : InputA1_q7.txt 1646 Pattern INPUTB_Q7_ID : InputB1_q7.txt 1647 Pattern INPUTAC_Q7_ID : InputAC1_q7.txt 1648 Pattern INPUTBC_Q7_ID : InputBC1_q7.txt 1649 Output OUT_Q7_ID : Output 1650 1651 Params PARAM1_ID = { 1652 NBR = [5,10,40] 1653 NBI = [5,10,40] 1654 NBC = [5,10,40] 1655 } 1656 1657 1658 Functions { 1659 Matrix Multiplication:test_mat_mult_q7 1660 } -> PARAM1_ID 1661 } 1662 } 1663 } 1664 1665 group Spectral Transformations { 1666 class = Transform 1667 folder = Transform 1668 1669 suite Spectral Transformations F32 { 1670 class = TransformF32 1671 folder = TransformF32 1672 1673 ParamList { 1674 NB,IFFT,BITREV 1675 Summary NB 1676 Names "Number of samples,Inverse FFT, Bit Reversal" 1677 Formula "I(NB*log2(NB))" 1678 } 1679 1680 Pattern INPUTR_F32_ID : RealInputSamples19_f32.txt 1681 Pattern INPUTC_F32_ID : ComplexInputSamples_Noisy_512_6_f32.txt 1682 1683 Output TMP_F32_ID : Temp 1684 Output OUT_F32_ID : Output 1685 Output STATE_F32_ID : Output 1686 1687 1688 Params CFFT_PARAM_ID = { 1689 NB = [64,128,256] 1690 IFFT = [0,1] 1691 REV = [0,1] 1692 } 1693 1694 Params CFFT4_PARAM_ID = { 1695 NB = [16,64,256] 1696 IFFT = [0,1] 1697 REV = [0,1] 1698 } 1699 1700 Params RFFT_PARAM_ID = { 1701 NB = [64,128,256] 1702 IFFT = [0,1] 1703 REV = [1] 1704 } 1705 1706 Params DCT_PARAM_ID = { 1707 NB = [128,512,2048] 1708 IFFT = [0] 1709 REV = [1] 1710 } 1711 1712 Functions { 1713 Complex FFT:test_cfft_f32 -> CFFT_PARAM_ID 1714 Real FFT:test_rfft_f32 -> RFFT_PARAM_ID 1715 DCT4:test_dct4_f32 -> DCT_PARAM_ID 1716 Scalar Radix 4 Complex FFT:test_cfft_radix4_f32 -> CFFT4_PARAM_ID 1717 Scalar Radix 2 Complex FFT:test_cfft_radix2_f32 -> CFFT_PARAM_ID 1718 } 1719 } 1720 1721 suite Spectral Transformations Q31 { 1722 class = TransformQ31 1723 folder = TransformQ31 1724 1725 ParamList { 1726 NB,IFFT,BITREV 1727 Summary NB 1728 Names "Number of samples,Inverse FFT, Bit Reversal" 1729 Formula "I(NB*log2(NB))" 1730 } 1731 1732 Pattern INPUTR_Q31_ID : RealInputSamples19_q31.txt 1733 Pattern INPUTC_Q31_ID : ComplexInputSamples_Noisy_512_6_q31.txt 1734 Output OUT_Q31_ID : Output 1735 Output STATE_Q31_ID : Output 1736 1737 1738 Params CFFT_PARAM_ID = { 1739 NB = [64,128,256] 1740 IFFT = [0,1] 1741 REV = [0,1] 1742 } 1743 1744 Params CFFT4_PARAM_ID = { 1745 NB = [16,64,256] 1746 IFFT = [0,1] 1747 REV = [0,1] 1748 } 1749 1750 Params RFFT_PARAM_ID = { 1751 NB = [64,128,256] 1752 IFFT = [0,1] 1753 REV = [1] 1754 } 1755 1756 Params DCT_PARAM_ID = { 1757 NB = [128,512,2048] 1758 IFFT = [0] 1759 REV = [1] 1760 } 1761 1762 Functions { 1763 Complex FFT:test_cfft_q31 -> CFFT_PARAM_ID 1764 Real FFT:test_rfft_q31 -> RFFT_PARAM_ID 1765 DCT4:test_dct4_q31 -> DCT_PARAM_ID 1766 Scalar Radix 4 Complex FFT:test_cfft_radix4_q31 -> CFFT4_PARAM_ID 1767 Scalar Radix 2 Complex FFT:test_cfft_radix2_q31 -> CFFT_PARAM_ID 1768 } 1769 } 1770 1771 suite Spectral Transformations Q15 { 1772 class = TransformQ15 1773 folder = TransformQ15 1774 1775 ParamList { 1776 NB,IFFT,BITREV 1777 Summary NB 1778 Names "Number of samples,Inverse FFT, Bit Reversal" 1779 Formula "I(NB*log2(NB))" 1780 } 1781 1782 Pattern INPUTR_Q15_ID : RealInputSamples19_q15.txt 1783 Pattern INPUTC_Q15_ID : ComplexInputSamples_Noisy_512_6_q15.txt 1784 Output OUT_Q15_ID : Output 1785 Output STATE_Q15_ID : Output 1786 1787 1788 Params CFFT_PARAM_ID = { 1789 NB = [64,128,256] 1790 IFFT = [0,1] 1791 REV = [0,1] 1792 } 1793 1794 Params CFFT4_PARAM_ID = { 1795 NB = [16,64,256] 1796 IFFT = [0,1] 1797 REV = [0,1] 1798 } 1799 1800 Params RFFT_PARAM_ID = { 1801 NB = [64,128,256] 1802 IFFT = [0,1] 1803 REV = [1] 1804 } 1805 1806 Params DCT_PARAM_ID = { 1807 NB = [128,512,2048] 1808 IFFT = [0] 1809 REV = [1] 1810 } 1811 1812 Functions { 1813 Complex FFT:test_cfft_q15 -> CFFT_PARAM_ID 1814 Real FFT:test_rfft_q15 -> RFFT_PARAM_ID 1815 DCT4:test_dct4_q15 -> DCT_PARAM_ID 1816 Scalar Radix 4 Complex FFT:test_cfft_radix4_q15 -> CFFT4_PARAM_ID 1817 Scalar Radix 2 Complex FFT:test_cfft_radix2_q15 -> CFFT_PARAM_ID 1818 } 1819 } 1820 } 1821 1822 } 1823 1824 group NN Benchmarks 1825 { 1826 class = NNBenchmarks 1827 folder = NN 1828 1829 suite Fully Connected Benchmarks { 1830 class = FullyConnectedBench 1831 folder = FullyConnected 1832 1833 ParamList { 1834 NB 1835 Summary NB 1836 Names "Repetition" 1837 Formula "NB" 1838 } 1839 1840 Pattern INPUT13_S8_ID : TestCase_8_8_5_input_13.txt 1841 Pattern BIAS13_S8_ID : TestCase_8_8_5_bias_13.txt 1842 Pattern WEIGHT13_S8_ID : TestCase_8_8_5_weights_13.txt 1843 Pattern REF13_S8_ID : TestCase_8_8_5_output_13.txt 1844 1845 Output OUTPUT_S8_ID : Output 1846 Output TEMP_S16_ID : Temp 1847 1848 Params PARAM1_ID = { 1849 NB = [10,20,40,50] 1850 } 1851 1852 Functions { 1853 arm_fully_connected_tflite_s8:test_fully_connected_tflite_s8 -> PARAM1_ID 1854 } 1855 } 1856 1857 suite Pooling Benchmarks { 1858 class = PoolingBench 1859 folder = Pooling 1860 1861 ParamList { 1862 NB 1863 Summary NB 1864 Names "Repetition" 1865 Formula "NB" 1866 } 1867 1868 Pattern INPUT1_S8_ID : Input1.txt 1869 Pattern REF1_S8_ID : Ref1.txt 1870 1871 Output OUTPUT_S8_ID : Output 1872 Output TEMP_S8_ID : Temp 1873 Output TEMPINPUT_S8_ID : TempInput 1874 1875 Params PARAM1_ID = { 1876 NB = [1] 1877 } 1878 1879 Functions { 1880 arm_avgpool_s8 Test 1:test_avgpool_s8 -> PARAM1_ID 1881 } 1882 } 1883 } 1884 1885 group Compiler Benchmarks { 1886 class = CompilerBenchmarks 1887 folder = DSP 1888 1889 group Micro Benchmarks { 1890 class = MicroBenchmarks 1891 folder = BasicMaths 1892 1893 suite MicroBenchmarksF32 { 1894 class = MicroBenchmarksF32 1895 folder = BasicMathsF32 1896 1897 ParamList { 1898 NB 1899 Summary NB 1900 Names "NB Samples" 1901 Formula "NB" 1902 } 1903 1904 Pattern INPUT1_F32_ID : Input1_f32.txt 1905 Pattern INPUT2_F32_ID : Input2_f32.txt 1906 Output OUT_SAMPLES_F32_ID : Output 1907 1908 Params PARAM1_ID = { 1909 A = [16,32,64,128,256] 1910 } 1911 1912 Functions { 1913 While loop:test_while_f32 1914 For loop:test_for_f32 1915 For loop and array:test_array_f32 1916 } -> PARAM1_ID 1917 } 1918 1919 suite MicroBenchmarksQ31 { 1920 class = MicroBenchmarksQ31 1921 folder = BasicMathsQ31 1922 1923 ParamList { 1924 NB 1925 Summary NB 1926 Names "NB Samples" 1927 Formula "NB" 1928 } 1929 1930 Pattern INPUT1_Q31_ID : Input1_q31.txt 1931 Pattern INPUT2_Q31_ID : Input2_q31.txt 1932 Output OUT_SAMPLES_Q31_ID : Output 1933 1934 Params PARAM1_ID = { 1935 A = [16,32,64,128,256] 1936 } 1937 1938 Functions { 1939 While loop:test_while_q31 1940 For loop:test_for_q31 1941 For loop and array:test_array_q31 1942 } -> PARAM1_ID 1943 } 1944 1945 suite MicroBenchmarksQ15 { 1946 class = MicroBenchmarksQ15 1947 folder = BasicMathsQ15 1948 1949 ParamList { 1950 NB 1951 Summary NB 1952 Names "NB Samples" 1953 Formula "NB" 1954 } 1955 1956 Pattern INPUT1_Q15_ID : Input1_q15.txt 1957 Pattern INPUT2_Q15_ID : Input2_q15.txt 1958 Output OUT_SAMPLES_Q15_ID : Output 1959 1960 Params PARAM1_ID = { 1961 A = [16,32,64,128,256] 1962 } 1963 1964 Functions { 1965 While loop:test_while_q15 1966 For loop:test_for_q15 1967 For loop and array:test_array_q15 1968 } -> PARAM1_ID 1969 } 1970 1971 suite MicroBenchmarksQ7 { 1972 class = MicroBenchmarksQ7 1973 folder = BasicMathsQ7 1974 1975 ParamList { 1976 NB 1977 Summary NB 1978 Names "NB Samples" 1979 Formula "NB" 1980 } 1981 1982 Pattern INPUT1_Q7_ID : Input1_q7.txt 1983 Pattern INPUT2_Q7_ID : Input2_q7.txt 1984 Output OUT_SAMPLES_Q7_ID : Output 1985 1986 Params PARAM1_ID = { 1987 A = [16,32,64,128,256] 1988 } 1989 1990 Functions { 1991 While loop:test_while_q7 1992 For loop:test_for_q7 1993 For loop and array:test_array_q7 1994 } -> PARAM1_ID 1995 } 1996 } 1997 } 1998} 1999