A university research director has shown that Apple's iPad 2 is as fast as the Cray-2 vector super-computer out of Cray Research from the 1980's. With some work to to the software, the iPad 2 performance benchmark result is quite impressive.
While at the IEEE High Performance Extreme Computing (HPEC) conference in Massachusetts this week, Piotr Luszczek who serves as the Research Director for the University of Tennessee was talking about the ARM landscape and embedded LINPACK
benchmarking. The BoF presentation was entitled "Anatomy of a Globally Recursive Embedded LINPACK Benchmark."
The presentation's abstract was:
We present a complete bottom-up implementation of an embedded LINPACK benchmark on iPad 2. We use a novel formulation of a recursive LU factorization that is recursive and parallel at the global scope. We be believe our new algorithm presents an alternative to existing linear algebra parallelization techniques such as master-worker and DAG-based approaches. We show a assembly API that allows us a much higher level of abstraction and provides rapid code development within the confines of mobile device SDK. We use performance modeling to help with the limitation of the device and the limited access to device from the development environment not geared for HPC application tuning
Luszczek has uploaded his slides to the UTK
web-site, but what's interesting for the common Phoronix reader are just his Apple iPad 2 test results.
The researcher mentioned that Apple introduced the Accelerate Framework to iOS4 and that they were to include an optimized ATLAS
(Automatically Tuned Linear Algebra Software) library inside this iOS framework, just like with it shipping inside the Mac OS X framework. However, this framework didn't really work and there is no ATLAS for the iPhone/iPod/iPad so he took things a lot further on his own.
Through a long process, Piotr Luszczek was able to learn more about the iPad hardware itself through nano and micro benchmarking. After this, he was able to create an optimized algorithm by writing a Python script to generate various Assembly routines to test each one for the most efficient performance. A few ARM tweaks also got tossed into Atlas BLAS.
When benchmarking the Apple iPad 2, the University of Tennessee employee achieved 4 GFLOPS per Watt on the ARM SoC (measured at the chip level). As the below chart shows, he found the iPad 2 to be as fast as the Cray 2 super-computer from the 1980s. The Cray-2 was originally the fastest super-computer in the world when it originally premiered. Piotr Luszczek also found that the original iPad was about the speed of the original Cray-1 super-computer. The latest iPad meanwhile is just a small performance bump over the iPad 2.
One interesting tid-bit is that it took Cray Research one decade to go from the Cray-1 to the Cray-2 while Apple went from the original iPad to the second-generation iPad in just two years with the increased performance.
It will still be a long, long time though before any tablet can be as fast as ASCI Red/White, Sequoia, or the modern Cray Jaguar that has held a LINPACK performance record.
The other interesting slide were some numbers on various devices for their power and performance.
While losing badly on the raw performance, an ARM Cortex-A9 delivered the greatest performance-per-Watt that could beat out an AMD FireStream 9370, NVIDIA Fermi M2050, AMD Magny-Cours Opteron 6180SE, Intel Westmere Xeon E7-8870, and Intel Atom N570. The ARM Cortex-A9 had a performance/power efficiency of a factor of four while the AMD FireStream and NVIDIA Fermi GPUs had an efficiency of about 2.3x, the AMD Opteron at about 1x, and the Intel Xeon and Atom at about 0.75x.
Next up may be some fun with more low-cost ARM development boards, Piotr Luszczek is looking towards ARMv8/AArch64 with 64-bit "goodness", working on double-buffering and vectorization-friendly storage, and possibly using OpenGL ES with shaders or tapping into NVIDIA's CUDA to exploit more performance out of ARM hardware.
If you are interested in maxing out ARM performance, see the Phoronix 12-core ARM cluster
and then the 96-core ARMv7 solar-powered super-computer
that was assembled out at MIT earlier this summer. Coming up in a matter of weeks will be the long-awaited many-core Calxeda ARM benchmarks premiering on Phoronix.