bad Whetstone results on p1022

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

bad Whetstone results on p1022

Jump to solution
958 Views
maher
Contributor I

Hi All,

I'm currently in the middle of an O/S study for the p1022 processor and have been using whetstone as one of the indicators for this. However, despite whetstone benchmarking the P1022DS at around 850MIPS in VxWorks and QNX, the same code run on Linux produces around 85MIPS - which is very worrying!

I've taken two very different approaches to building the code:

1). Using the native gcc compiler on the SDKLINUX P1022DS platform. Although it builds fine, it gives very poor results (as above). I suspect this might be due to the compiler lacking knowledge of the e500v2 FPU (-te500v2 doesn't compute).

2). Using CodeWarrior PA 10.0.2 to build the whetstone binary, then deploying on both P1022DS and P1022RDK boxes: this produces even stranger results:

   - the code works, and produces a MIPS rating of over 1000 - provided:

      - you don't compile with static linkage

      - you don't run the loop count greater than around 300,000

Basically, it's got an incredibly tight sweet-spot where it'll work, but otherwise it defaults to producing the 85MIPS result as before.

Has anyone come across either of these before, or can offer any suggestions?

Mat

Labels (1)
Tags (1)
0 Kudos
1 Solution
650 Views
lunminliang
NXP Employee
NXP Employee

Please see below comment from my colleague.

The question about performance results in Linux compared with another OS. I do not think running benchmark tests as user space application in OS is a good idea, because there will be OS-related overhead, which is OS-dependent. As per my understanding, benchmarking should be performed at “bare” system.

Regarding “-te500v2 doesn't compute” – yes, incorrect compiler settings may be a root cause of slow performance of the resulting application. If the code generated by compiler does not use FPU instructions, than running floating point application in instruction emulation mode will cause poor results. Please refer to our Linux SDK documentation for proper combination of compiler keys and environment. If the SDK code builds without this issue, than please look commands used to build and their keys, and use as reference.

CodeWarrior 10.0.2 – this is quite old version, and I do not think our CodeWarrior team still supports it. Please download most recent version 10.3 from our public web www.freescale.com/codewarrior and apply all most recent patches and updates, if any. If the problem persists with most recent CodeWarrior version and all most recent patches, than please create a service request for CodeWarrior support team.


View solution in original post

0 Kudos
1 Reply
651 Views
lunminliang
NXP Employee
NXP Employee

Please see below comment from my colleague.

The question about performance results in Linux compared with another OS. I do not think running benchmark tests as user space application in OS is a good idea, because there will be OS-related overhead, which is OS-dependent. As per my understanding, benchmarking should be performed at “bare” system.

Regarding “-te500v2 doesn't compute” – yes, incorrect compiler settings may be a root cause of slow performance of the resulting application. If the code generated by compiler does not use FPU instructions, than running floating point application in instruction emulation mode will cause poor results. Please refer to our Linux SDK documentation for proper combination of compiler keys and environment. If the SDK code builds without this issue, than please look commands used to build and their keys, and use as reference.

CodeWarrior 10.0.2 – this is quite old version, and I do not think our CodeWarrior team still supports it. Please download most recent version 10.3 from our public web www.freescale.com/codewarrior and apply all most recent patches and updates, if any. If the problem persists with most recent CodeWarrior version and all most recent patches, than please create a service request for CodeWarrior support team.


0 Kudos