Project

General

Profile

DSP vs NEON for Floating point

Added by Conor O almost 11 years ago

Dear Critical Link,

Now that you have newer modules in Cortex A8 and Dual A9 versions, I have a question as regards the efficacy of the L138 for certain processing work. The project I am on will take data like absorption spectra and process that for detection. There is a (currently) an awful lot of floating point work that is very slow on the L138 (which was fully expected as it's an ARM9 with no hardware FPU). The C6x DSP might be more a appropriate CPU but at this stage I'm not sure that using the DSP is worth the trouble given that there are other Cortex modules available.

Do you have any numbers or ideas on FP calculation performance on the OMAP-L138's DSP versus, say, the Cortex A9? I have zero experience with DSPs so I've no idea where to start myself!

Also, I note that TI have free DSP code generation tools available at:

https://www-a.ti.com/downloads/sds_support/TICodegenerationTools/download.htm

the 6.1.x releases are standalone Linux binaries. It might be useful to do a "DSP Hello world" with those instead of CCS (Assuming that's possible - as I said, I know nothing about DSPs)

Thanks, COnor.


Replies (7)

RE: DSP vs NEON for Floating point - Added by Michael Williamson almost 11 years ago

The DSP floating point performance is very good compared to the ARM9. It's actually faster (when coded right) than the Cortex A9 because it has multiple ALUs for floating point.

I will try to dig up a trade study we did on this a while back.

But. You must use optimization on the DSP compiler to see the speed. Debug builds on the DSP will not show the speed.

-Mike

RE: DSP vs NEON for Floating point - Added by Conor O almost 11 years ago

Thank you for that Mike. I'm trying to figure out is it worth the pain of learning the DSP toolsets and dealing with CCS if I could chuck it all in and move to a different platform and just use gcc. But apparently there are math libraries available and ease of use tools (C6Run?) to make life easier with prebuilt DSP libraries. I guess it might be worth checking out after all!

I'll still get some money and benchmark the Cortex processors too :)

Conor.

RE: DSP vs NEON for Floating point - Added by Michael Williamson almost 11 years ago

Digikey is open 24 hours a day!

Do you have a lot of interfaces to rework if you retarget your module?

-Mike

RE: DSP vs NEON for Floating point - Added by Conor O almost 11 years ago

Digikey is open but managers' pockets are closed most of the time!

My circuit design is in flux still but I'm at the stage where I'll have to interface to the module itself rather than using the Industrial I/O board. Getting others to commit to a platform is the main issue.

Personally I can rework easily enough by changing the module type on my schematic. As long as I have UARTs (through USB although they are on the FPGA currently), spi, i2c, and one MMCSD for the TiWi R2 I'm using. I see you've chosen that chipset now for the WiFi on the MityARM-335x. Did you have Bluetooth issues? I haven't wired the level converters for that section yet....

Thanks,

- Conor

RE: DSP vs NEON for Floating point - Added by Conor O almost 11 years ago

Just in addition - it would kinda cool to have a "Hello world" done using the TI DVDSK as it has the command line DSP build tools and utilities like C6Run. A little example using a few floating point calculations to illustrate the benefits of using the DSP on the L138. On the other hand, if the majority of your developers use CCS then I guess it might not be worth your time.... Cheers.

RE: DSP vs NEON for Floating point - Added by Michael Williamson almost 11 years ago

Hello Conor,

On the DVSDK, the examples in c6run include a "hello world" (ti-dvsdk_omapl138-evm_04_03_00_06/c6run_0_98_03_03/examples/c6runapp/hello_world) and a couple of other examples that should work without modification for the MityDSP-L138 module. I think there is one that does FFTs using floating point ops as well. They should "just run" as long as you have the drives installed (cmem and dsplink).

We are not heavy users of the C6Run framework here, nor do we often use the XDIAS framework with TI's codecs (though we have used it to demonstrate H264 decoding of D1 video using gstreamer).

-Mike

RE: DSP vs NEON for Floating point - Added by Conor O almost 11 years ago

Sorry, my bad. I see it now. The first time I tried the SDK it didn't work as I didn't install the whole 4GB of stuff. But it works now and gives me a hello_world_dsp executable. I'll figure out dsplink and cmem now (cmem isn't in the MDK but it builds from the SDK).

TI themselves have decided that C6Run is obsolete and are "moving to OpenCL" but they have not released any OpenCL drivers/frameworks yet...

Thanks Mike.

- Conor

    (1-7/7)
    Go to top
    Add picture from clipboard (Maximum size: 1 GB)