I love arm and own a cubietruck and a Pi. But my initial hopes of clustering up tons of arms together have been dashed by a very hard dose of reality: the bog-standard core i7 in my Dell M3800 is 50x faster. Try this on your pi in iPython:
import numpy as np
xx = np.random.rand(1000000).reshape((1000, 1000))
%timeit np.linalg.eig(xx)
67 seconds on my RPi B 2, 1.2 seconds on my i7 (admittedly, using MKL optimizations but the factor would still be 15x without it, and arguably, MKL is simply making full use of the Intel instruction set). I get 0.65 on my desktop Precision Xeon. Fully 100x faster.
So yes ARM is great. But let's be honest, Intel is vastly, vastly ahead when it comes to anything that is not a toy.
> let's be honest, Intel is vastly, vastly ahead when it comes to anything that is not a toy.
That just shows a lack of understanding of the market. Not every application needs powerful processors. Sometimes they need low-power or low-cost processors. Something is not a "toy" when it is specifically engineered to meet different but equally serious requirements.
Intel during Q3 2014 set a record 100 million processor sales that quarter[1].
During the same period, ARM reports 1.1 billion "processors and smartcards" shipped[2]. As for how many of those are in smartphones (powerful), ARM is estimated to power 90% of smartphones[3], of which 326 million were sold during Q3 2014[4].
If you're after dollar sales, Q3 2014 had them at $320m[2] and Intel at $14.6b[5].
When Intel are selling hundreds of millions of processors a year and ARM are selling tens of billions a year? That's pretty much the opposite way around.
(By 'selling processors' I mean 'licensing cores', of course, as ARM are fabless.)
That's like comparing grains of wheat to fully baked lasagnas, buddy. What matters is what the market is prepared to pay for the tech. No arguments here. Fifty:one. It's a verifiable fact just like my ipython example.
Now that does not mean that grains of wheat are not useful. As I said, I love the Pi and I own two arm platforms for which I have ambitious use cases. I just don't delude myself about who owns the performance.
Then with that 50:1 (I just checked, and it is for 2014 revenue) you're comparing the annual revenue of a company that licenses CPU cores with a company that makes CPUs, solid state drives, servers, networking equipment... so yes, obviously Intel has a higher revenue.
For a more fair comparison, paypal recently deployed X-Gene ARM servers[1]. They said about it: "“The X-Gene-equipped units [at PayPal] cost approximately one-half the price of traditional data center infrastructure hardware and incurred only one-seventh of the annual running cost,”".I assume they compared it to an equally powerful intel system.
The original Pi has plenty of processing power. It's just not in the ARM core, but in Videocore IV. Did your implementation or the library you used use VCIV?
Bear in mind VCIV can encode h.264 video 1920x1080 @30 fps. The architecture should be just fine for linear algebra, if 32-bit floats are enough for you.
Raspberry Pi is a very misunderstood device and 95%+ of its true performance is going wasted if you just use it as a simple ARMv6 + VFP Linux computer.
>So yes ARM is great. But let's be honest, Intel is vastly, vastly ahead when it comes to anything that is not a toy.
Well, I agree if you're using "toy" as Romans used "Barbarian". If you mean by "toy" anything that's not desktop, then yes.
But if you look at what happens in an industrial setting and do a teardown on those tools (oil industry, for example), you won't find Intel processors, you'll find FPGAs and ARM processors in a bunch of tiny toys that cost about 75k each.
So it appears that "toy" is not what the device is destined to be, but what the people who buy it end up using it for.
As with any programming language, you can print "Hello world" and leave it at that, or you can build a massive thing.
The limits of imagination are unfortunately reached way before the hardware limitations are.
Yes the RPi is a fantastic device and I am building a small minimilastic hardware terminal for financial visualization around it which will be dirt cheap and surprisingly powerful, mainly because its graphics are actually really fast enough for 3d vector viz. I was just pointing out that there is a lot of "arm is taking over" commentary out there and that needs to take into account the performance differential, which is still enormous.
Correct me if I'm wrong if I assume you use the word "mobile" to mean "something that's portable" and not in a "mobile phone" way..
If this is the case, then the example I gave was about oil services companies using such devices in their 'tools'.
These tools are used to do things like Reservoir Characterization (is there oil? How much? How easily can it be extracted? What does it look like inside? At what depths?).
It's such a shame they don't really communicate a lot because they do some really, really cool stuff. The featured company is known as "The biggest company you've never heard of" (3 x the size of Halliburton, 80+ countries, etc).
Also, the automotive industry uses a lot of stuff with ARM architecture (from Atmel, Altera, etc).. I know I've seen in ECUs (Electronic Control Units). These things control the vehicle (injection, etc).
They're also used in PLCs (Programmable Logic Controllers) -Stuxnet targeted Siemens PLCs, for example of what the things are-.
And let alone the stuff you find in air conditionners, alarm systems wether for home or cars, elevators, other types of machinery, etc..
Look at the power consumption: without USB, the Pi needs just one Watt. If the Intel that you compared to used more than 15 Watts, the Pi was better per Watt. And in some uses you care about performance per Watt, like when you have a smartphone. That's why ARM rules there.
I'm lucky enough to have Professor Furber as a lecturer at Manchester. His insights into how mobile systems are designed and engineered are fascinating, as is his work with SpiNNaker project.
I grew up with Acorn computers. The Archimedes was an amazing machine for its time, and for an aspiring programmer, having a structured BBC BASIC (fastest interpreted BASIC in the world) with a built-in ARM assembler made for some quick learning.
So yes ARM is great. But let's be honest, Intel is vastly, vastly ahead when it comes to anything that is not a toy.