5
$\begingroup$

I was having this discussion with a colleague of mine a week ago and thought I might as well bring it here to a broader audience. That said, I am not certain this is a kind of question that is appropriate for scicomp.

Anyhow, given their abundance and, relatively low prices, has anyone thought of using smartphones for computational projects? Can their cellular/3G/4G/WiFi/Bluetooth/etc. network capability be used for any interesting collective, maybe (embarrassingly) parallel, computational application?

PS: Could not really think of a more appropriate tag!

$\endgroup$
5
  • 2
    $\begingroup$ I believe there was a reduced order modeling project out of Anthony Patera's group that used supercomputing to run really detailed CFD calculations to calculate reduced order models. Then the reduced order models were simple enough that they could be run on smartphones "in the field" for some sort of fluid flow application, but I don't remember which one off the top of my head. $\endgroup$ Commented May 4, 2013 at 7:04
  • 2
    $\begingroup$ I think smartphone (ARM based) CPUs aren't yet mainstream. If they do get good enough to be used in PCs and the x86 market declines then HPC community will have to adapt accordingly as it is also cost driven (we saw this with cheap x86 CPUs about 15-20 years back). So I am not sure about phones (slow network, horrible battery life etc.) but smartphones CPUs may be certainly viable. Many people are experimenting. Just google for ARM based clusters. There already are so many apps/games that use a physics engine (think Angry Birds) etc. $\endgroup$
    – stali
    Commented May 4, 2013 at 13:06
  • $\begingroup$ For applications that have a client-server architecture it may be useful to have the client on a smartphone. For visualization of results from simulation codes this can be very useful as the results are easy to share. I'll add a shameless plug to KiwiViewer, an app that my company helps develop, as an example. $\endgroup$
    – andybauer
    Commented May 4, 2013 at 21:50
  • $\begingroup$ There already some DSP (Digital Signal Processors) being explored by the scientific community. Those toys are very similar to smartphone processor... $\endgroup$
    – RSFalcon7
    Commented May 5, 2013 at 0:30
  • $\begingroup$ I've heard of the same application that @GeoffOxberry mentioned. At a recent GAMM conference Patera gave a plenary lecture on reduced order modeling. Some other groups in Europe do the same thing (Interestingly almost all are led by people known by their Spectral Element works). They use terms 'offline' and 'online' to distinguish computing that is done on supercomputers, and that with reduced order models done on the phones. $\endgroup$ Commented May 5, 2013 at 9:58

1 Answer 1

5
$\begingroup$

The current generation of ARM processors have terrible floating-point performance. IIRC, the Cortex-A8 and Cortex-A9 are nine cycles for a double. The latest Cortex-A15 is finally single-cycle double, but is not yet common in the market. (EDIT: See Addendum below)

Certainly, in the embedded world where I belong, a 400MHz PowerPC - theoretically two doubles per cycle - (Freescale MPC5121e) outperforms a 800MHz Cortex-A8 (Freescale i.mx535) by about 50% total time (including IO) for a numerically intensive application. The PowerPC outperforms the ARM by a factor of 2.5x for the actual numeric part! And the ARM has the benefit of 4+ years of kernel and GCC improvements!

A modest Intel Atom N450 1.6GHz netbook outperforms the 400MHz PowerPC by a factor of 4x, both in total time and the numerically expensive core.

So no, I cannot recommend ARM cores for numerical applications, at least not for several generations.


Addendum:

I was a little wrong on the Cortex-A9. Whilst it is indeed a nine-cycle double, unlike the Cortex-A8, they can be pipelined and hence get results close-ish to 1DMFLOPS/MHz. The Cortex-A8 is barely more than 0.1 DMFLOPS/MHz (though single is a different story).

ATLAS benchmarks for the Cortex-A9 can be found here. Benchmarks for the Cortex-A8 can be found here.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.