Originally posted by ssvb
View Post
Announcement
Collapse
No announcement yet.
Quad-Core ODROID-X Battles NVIDIA Tegra 3
Collapse
X
-
Originally posted by ldesnogu View PostI think you are wrong: the L/S instructions have their own pipe, and issue can send instructions both to that pipe and to NEON pipes. Did you try it?
I have encountered the sad fact of Cortex-A9 being unable to dual issue NEON instructions with any L/S instructions (both ARM and NEON) in practice long ago. The Cortex-A9 NEON Media Processing Engine Technical Reference Manual says "with the exception of simultaneous loads and stores, the processor can execute VFP and Advanced SIMD instructions in parallel with ARM or Thumb instructions", which is admittedly not very clear. But there is not need guessing and misinterpreting because we can easily run a simple benchmark program:
Code:.text .arch armv7-a .fpu neon .global main #ifndef CPU_CLOCK_FREQUENCY #error CPU_CLOCK_FREQUENCY must be defined #endif #define LOOP_UNROLL_FACTOR 20 .func main main: push {r4-r12, lr} ldr ip, =(CPU_CLOCK_FREQUENCY / LOOP_UNROLL_FACTOR) b 1f .balign 64 1: .rept LOOP_UNROLL_FACTOR vorr d30, d30, d30 vorr d31, d31, d31 vorr d30, d30, d30 vorr d31, d31, d31 #ifdef DO_ARM_LDR ldr r0, [sp] #endif vorr d30, d30, d30 vorr d31, d31, d31 vorr d30, d30, d30 vorr d31, d31, d31 2: .endr subs ip, ip, #1 bne 1b mov r0, #0 pop {r4-r12, pc} .endfunc
Code:$ gcc -DCPU_CLOCK_FREQUENCY=1200000000 bench_mixed_ldr_neon.S && time ./a.out real 0m8.093s user 0m8.080s sys 0m0.000s $ gcc -DCPU_CLOCK_FREQUENCY=1200000000 -DDO_ARM_LDR=1 bench_mixed_ldr_neon.S && time ./a.out real 0m9.048s user 0m9.035s sys 0m0.000s
Cortex-A8:
Code:$ gcc -DCPU_CLOCK_FREQUENCY=1000000000 bench_mixed_ldr_neon.S && time ./a.out real 0m8.018s user 0m8.016s sys 0m0.000s $ gcc -DCPU_CLOCK_FREQUENCY=1000000000 -DDO_ARM_LDR=1 bench_mixed_ldr_neon.S && time ./a.out real 0m8.019s user 0m8.000s sys 0m0.008s
Comment
-
SS, were you running your OMAP4430 off of USB / OTG power on your original cpuburn test? I have heard that you can run current a bit above spec on the original Pandaboard (but not the 4460 ES). Still, I would be surprised it you can run it at ~300% above spec... I have had quite a bit of success with OTG power so I will give this a try on a Panda A2 generation. The power peaks I am seeing on ODROID-X seem to be during the c-ray PTS tests which peaks at 7W. How are you getting your direct current measurements? I will instrument my boards if I find a good way to measure that...
Comment
-
Originally posted by SolarNet View PostSS, were you running your OMAP4430 off of USB / OTG power on your original cpuburn test? I have heard that you can run current a bit above spec on the original Pandaboard (but not the 4460 ES). Still, I would be surprised it you can run it at ~300% above spec... I have had quite a bit of success with OTG power so I will give this a try on a Panda A2 generation.
The power peaks I am seeing on ODROID-X seem to be during the c-ray PTS tests which peaks at 7W.
Code:$ wget https://raw.github.com/ssvb/ssvb.github.com/master/files/2012-04-10/ssvb-cpuburn-a9.S $ gcc ssvb-cpuburn-a9.S $ ./a.out
How are you getting your direct current measurements? I will instrument my boards if I find a good way to measure that...
Comment
-
I will try this out... see if I can find the true peak power. I have some more benchmarks at
OpenBenchmarking.org, Phoronix Test Suite, Linux benchmarking, automated benchmarking, benchmarking results, benchmarking repository, open source benchmarking, benchmarking test profiles
comparing a dual-core Exynos (Soft-float) to the quad-core Exynos (Hard-float)... the numbers aren't quite twice as good as I thought they would be. Worse PE / RAM ratio might be in play there... thanks...
Comment
-
Sweet. 11W normal with spikes to 12W... and that is in my hypercooled mineral oil bath to be safe (seriously, I'll take a picture). Next test will be to fully engage the rest of the board and measure. Might need to break the nitrogen out for that one...
Actually, I'm surprised at how stable it has been. I have only just now dropped it into the oil bath.
Comment
-
Originally posted by SolarNet View PostNext test will be to fully engage the rest of the board and measure.
Comment
-
Originally posted by SolarNet View PostI have some more benchmarks here... the suite keeps crashing at compile bench for some reason... will have to look at that...Michael Larabel
https://www.michaellarabel.com/
Comment
Comment