2007/11/30, kurmannthomas <>:
> a 4096 point FFT of about 4 seconds...this is horribly slow...even
> without EABI or Crunch i would have expected the TS-7260 is alot
> faster.
It depends what floating point scheme your board is using. There are three.
Unless you are using an EABI system, the compiler is probably
generating real FPA instructions for the original ARM floatingpoint
accelerator, a thing that no longer exists in any current hardware.
The nonexistent FP instructions cause Illegal Instruction traps that
are caught by the kernel, the instructions are emulated in software,
and control is returned to the program as if nothing had gone wrong.
This is very slow - speed = 1
The next faster option is soft-float, but with old-ABI the entire
system - applications and libraries - must have been compiled to use
softfloat instead of hardfloat. Softfloat is about 11 times faster
than kernel trap emulation.
The fastest is to use the Maverisk FPU, but unfortunately you either
need to have compiled the whole system to use maverick crunch
instructions (something I have never seen) or you need an EABI system,
which allows you to mix hardfloat and softfloat in the same system.
The second problem with Crunch is that there are hardware bugs in the
FPU that give the wrong results or crash the program when certain
instructions appear in a certain sequence. There are several attempts
to work around this in GCC, but none are known to work reliably. If
you can get it working, this is between 2.5 and 7 times faster than
sotfloat for FP-intensive applications.
You will obtain significantly fastest (and reliable) results if you
write crunch assembler routines yourself for the critical sections.
About EABI and its impact on FP: wiki.debian.org/ArmEabiPort
About MaverickCrunch hardware bugs: cirrus.com -> Arm processors ->
EP93XX (02?) -> Errata
(the silicon revision of your CPU is given by the 5th and 6th
characters of the second line printed on the chip housing)
About several attempts to get GCC Crunch support working:
martinwguy.co.uk/ts7250/FPU
And 2 days ago Cirrus posted their latest attempt to get GCC support
working: arm.cirrus.com
If you want to try speed tests with softfloat and crunch, mail me and
I'll open you an account on a ts7250 system here running Debian EABI.
M
Yahoo! Groups Links
<*> To visit your group on the web, go to:
http://groups.yahoo.com/group/ts-7000/
<*> Your email settings:
Individual Email | Traditional
<*> To change settings online go to:
http://groups.yahoo.com/group/ts-7000/join
(Yahoo! ID required)
<*> To change settings via email:
<*> To unsubscribe from this group, send an email to:
<*> Your use of Yahoo! Groups is subject to:
http://docs.yahoo.com/info/terms/
|