discuss-gnuradio
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Discuss-gnuradio] Beagle board update


From: Philip Balister
Subject: Re: [Discuss-gnuradio] Beagle board update
Date: Fri, 24 Oct 2008 08:19:49 -0700

On Fri, Oct 24, 2008 at 6:27 AM, Eric Blossom <address@hidden> wrote:
> On Thu, Oct 23, 2008 at 09:38:26PM -0700, Philip Balister wrote:
>> I have some NEON code in the fff dotproduct routine, the qa code passes:
>>
>> address@hidden:/home/balister/oe/tmp/work/armv7a-angstrom-linux-gnueabi/gnuradio-3.1.3+svnr9809-r4.1/trunk/gnuradio-core/src/tests#
>> ./test_filter
>> . [generic] [cortex_a8]
>> . [generic] [cortex_a8]
>> . [generic]
>> . [generic]
>> . [generic]
>> . [generic]
>> .>>> gr_fir_fff: using cortex_a8
>> ..
>> OK (9 tests)
>>
>>
>> address@hidden:/home/balister/oe/tmp/work/armv7a-angstrom-linux-gnueabi/gnuradio-3.1.3+svnr9809-r4.1/trunk/gnuradio-core/src/tests#
>> ./benchmark_dotprod_fff
>>     generic: taps:  256  input: 4e+07  cpu: 968.586  taps/sec:  1.057e+07
>>  cortex_a8: taps:  256  input: 4e+07  cpu: 45.703    taps/sec:  2.241e+08
>>
>> Philip
>
> Cool!
>
> The good news / bad news is that the spread is worse than on the P4!
>
> Is there a way to get the compiler to use the NEON instruction set in
> scalar mode?  E.g., something like -mfpmath=sse on x86?  Maybe -mfp=vfp?
> Are you providing the -mcpu=cortex-a8 gcc option?

The Cortex-A8 numbers use assembler to unroll the inner loop 8 times.
I think this code can get better. I'll have to double check the flags,
but I do not think gcc does a good job generating code for the
vfp/NEON unit. (We are happy gcc can generate anything supporting NEON
and not crash ...)

Remember, this is clocked at 600 MHz and consumes about 1 Watt.

Philip




reply via email to

[Prev in Thread] Current Thread [Next in Thread]