This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Differences between NEON in Cortex-A8 and A9

Note: This was originally posted on 25th July 2011 at http://forums.arm.com

Currently i am working on a Cortex-A9 single-core chip(AML8726-m if you want to know more), and in the datasheet it's said there is a neon in it. But when i test the code here(http://hilbert-space.de/?p=22), i cannot find any acceleration on it, sometimes the neon-assembly- optimized code runs even slower than the arm-c-code. At the same time, the same code can get a pretty good acceleration on my i.MX515 which is a Cortex-A8 chip.


I am using the Android NDK to build a test app running on Android, can it be the reason?
Can anyone tell me why it happens? 


Here is some results:
#####On A8#####
arm c code: 116.*** ms
neon c code: 83.*** ms
neon asm code: 51.*** ms
#####On A9#####
arm c code: 107.*** ms
neon c code: 106-107.*** ms
neon asm code: 106-107.*** ms

Android is Linux based OS, so I can call gettimeofday() to get a precise time period in us level. The results on A9 are not identical but almost the same and I didn't run the same binary 3 times, I'm sure.

Thanks and looking forward to any useful suggestions.


Parents
  • Note: This was originally posted on 26th July 2011 at http://forums.arm.com


    Sure.
    If you haven't made a specific test, your app can't used default code if NEON is not here.


    What is the size of your pixel array ?
    107 ms is very slow in fact !!!


    I searched in Google for a image that I think big enough, 1572*2362, a bitmap larger than 10MB!!!
    And I transported the c code to my pc, which has an Intel E6700 CPU 3.2GHz, the time is just 8ms!!!

    Now I'm searching for another Cortex-A9 based device to do this test, such as Sumsung Galaxy S II.
    Did you have any experience on any similar problem?
    Last week, I thought my build options was wrong, but now I think the assembly code should has nothing to do with the compiler, it must run as I want.
Reply
  • Note: This was originally posted on 26th July 2011 at http://forums.arm.com


    Sure.
    If you haven't made a specific test, your app can't used default code if NEON is not here.


    What is the size of your pixel array ?
    107 ms is very slow in fact !!!


    I searched in Google for a image that I think big enough, 1572*2362, a bitmap larger than 10MB!!!
    And I transported the c code to my pc, which has an Intel E6700 CPU 3.2GHz, the time is just 8ms!!!

    Now I'm searching for another Cortex-A9 based device to do this test, such as Sumsung Galaxy S II.
    Did you have any experience on any similar problem?
    Last week, I thought my build options was wrong, but now I think the assembly code should has nothing to do with the compiler, it must run as I want.
Children
No data