Quote from lingon on September 29, 2011, 09:06
Quote from dom on September 28, 2011, 21:19
The key option is -mfpu=vfp, but you get that as standard if you use the cross-compiler (bcm2708-gcc).
That improves the results to:
Loops: 1000, Iterations: 100, Duration: 106 sec.
C Converted Double Precision Whetstones: 94.3 MIPS
but most of the time in this test is spent in libm (sin/cos/atan/log/exp/sqrt) which is built without -mfpu-vfp. Use the libm from toolchain's sys-root:
Loops: 1000, Iterations: 100, Duration: 15 sec.
C Converted Double Precision Whetstones: 666.7 MIPS
What is the difference between -mfpu=vfp and -mfpu=vfp3?
According to the gcc man page there are quite a few different variants available like vfpv3-fp16, vfpv3-d16, vfpv3-d16-fp16, vfpv3xd, vfpv3xd-fp16. What is actually the optimum value of all these for the Raspberry Pi?
It would be nice to see the LINPACK result with the same compiler flags and libraries as for the optimized Whetstones result.
I was just about to post that I will redo the Linpack tests with the correct flags and libraries (need to get the libraries first! On the server somewhere I guess).
For the difference in vfp settings (and worth a read)
Principal Software Engineer at Raspberry Pi (Trading) Ltd.
Contrary to popular belief, humorous signatures are allowed. Here's an example...
“I think it’s wrong that only one company makes the game Monopoly.” – Steven Wright