Damm ...fpiSTM wrote: ↑Sun Jan 26, 2020 7:14 pm This is provided by ARM:
https://github.com/ARM-software/CMSIS_5 ... SP/Lib/GCC
".a" files ==> Compiled libraries
No source ..
Well i'd prob not understand the "magic" anyway
/Bingo
Damm ...fpiSTM wrote: ↑Sun Jan 26, 2020 7:14 pm This is provided by ARM:
https://github.com/ARM-software/CMSIS_5 ... SP/Lib/GCC
Code: Select all
-fsingle-precision-constant
Code: Select all
GenF4.build.flags.fp=-mfpu=fpv4-sp-d16 -mfloat-abi=hard
Code: Select all
##########################################
Single Precision C Whetstone Benchmark
Calibrate
0.15 Seconds 1 Passes (x 100)
0.77 Seconds 5 Passes (x 100)
3.86 Seconds 25 Passes (x 100)
Use 64 passes (x 100)
Single Precision C/C++ Whetstone Benchmark
Loop content Result MFLOPS MOPS Seconds
N1 floating point -1.12475013732910156 48.000 0.026
N2 floating point -1.12274742126464844 33.340 0.258
N3 if then else 1.00000000000000000 94.628 0.070
N4 fixed point 12.00000000000000000 160.001 0.126
N5 sin,cos etc. 0.49909299612045288 0.924 5.764
N6 floating point 0.99999982118606567 31.994 1.079
N7 assignments 3.00000000000000000 41.210 0.287
N8 exp,sqrt etc. 0.75110614299774170 1.052 2.264
MWIPS 64.819 9.874
Code: Select all
##########################################
Single Precision C Whetstone Benchmark
Calibrate
0.10 Seconds 1 Passes (x 100)
0.50 Seconds 5 Passes (x 100)
2.51 Seconds 25 Passes (x 100)
Use 99 passes (x 100)
Single Precision C/C++ Whetstone Benchmark
Loop content Result MFLOPS MOPS Seconds
N1 floating point -1.12475013732910156 45.150 0.042
N2 floating point -1.12274742126464844 33.347 0.399
N3 if then else 1.00000000000000000 95.761 0.107
N4 fixed point 12.00000000000000000 143.710 0.217
N5 sin,cos etc. 0.49909299612045288 2.268 3.631
N6 floating point 0.99999982118606567 33.862 1.577
N7 assignments 3.00000000000000000 41.113 0.445
N8 exp,sqrt etc. 0.75110614299774170 1.043 3.532
MWIPS 99.496 9.950
Code: Select all
##########################################
Single Precision C Whetstone Benchmark
Calibrate
0.10 Seconds 1 Passes (x 100)
0.50 Seconds 5 Passes (x 100)
2.48 Seconds 25 Passes (x 100)
Use 100 passes (x 100)
Single Precision C/C++ Whetstone Benchmark
Loop content Result MFLOPS MOPS Seconds
N1 floating point -1.12475013732910156 46.489 0.041
N2 floating point -1.12274742126464844 33.350 0.403
N3 if then else 1.00000000000000000 95.833 0.108
N4 fixed point 12.00000000000000000 159.898 0.197
N5 sin,cos etc. 0.49909299612045288 2.261 3.680
N6 floating point 0.99999982118606567 35.984 1.499
N7 assignments 3.00000000000000000 41.158 0.449
N8 exp,sqrt etc. 0.75110614299774170 1.051 3.538
MWIPS 100.854 9.915
Code: Select all
##########################################
Single Precision C Whetstone Benchmark
Calibrate
0.15 Seconds 1 Passes (x 100)
0.77 Seconds 5 Passes (x 100)
3.85 Seconds 25 Passes (x 100)
Use 64 passes (x 100)
Single Precision C/C++ Whetstone Benchmark
Loop content Result MFLOPS MOPS Seconds
N1 floating point -1.12475013732910156 46.545 0.026
N2 floating point -1.12274742126464844 33.340 0.258
N3 if then else 1.00000000000000000 96.000 0.069
N4 fixed point 12.00000000000000000 180.001 0.112
N5 sin,cos etc. 0.49909299612045288 0.915 5.817
N6 floating point 0.99999982118606567 33.878 1.019
N7 assignments 3.00000000000000000 41.210 0.287
N8 exp,sqrt etc. 0.75110614299774170 1.051 2.265
MWIPS 64.952 9.853
Code: Select all
-fsingle-precision-constant
Treat floating-point constants as single precision instead of implicitly converting them to double-precision constants.
https://github.com/ARM-software/CMSIS_5 ... DSP/SourceBingo600 wrote: ↑Sun Jan 26, 2020 7:28 pmDamm ...fpiSTM wrote: ↑Sun Jan 26, 2020 7:14 pm This is provided by ARM:
https://github.com/ARM-software/CMSIS_5 ... SP/Lib/GCC
".a" files ==> Compiled libraries
No source ..
Well i'd prob not understand the "magic" anyway
/Bingo
Code: Select all
Beginning Whetstone benchmark at 480 MHz ...
Loops:10000, Iterations:1, Duration:1203.82 millisec
C Converted Single Precision Whetstones:830.69 Mflops
Beginning Whetstone benchmark at 480 MHz ...
Loops:10000, Iterations:1, Duration:1203.48 millisec
C Converted Single Precision Whetstones:830.93 Mflops
Code: Select all
double theseSecs = 0.0;
double startSecs = 0.0;
double secs = 0.0;
Code: Select all
void getSecs()
{
theseSecs = micros() / 1000000.0;
return;
}