Raspberry Pi
log in

Advanced search

Message boards : Number crunching : Raspberry Pi

Previous · 1 · 2
Author Message
Profile rebirther
Volunteer moderator
Project administrator
Project developer
Project tester
Project scientist
Avatar
Send message
Joined: 2 Jan 13
Posts: 5426
Credit: 23,904,520
RAC: 11,313
Message 493 - Posted: 3 Jan 2015, 19:05:51 UTC - in response to Message 492.

This is a shame, because I keep my laptop loaded with BU tasks, normally, but have 2 or 3 ARM devices that are crunching for other projects, but I would love to donate more power to this project, but can't for now - once the project gets famous and grows, could there be an ARM app - it would get 1000s and 1000s more devices involved...


But if you need 1 month for a WU this is not good.

frankhagen
Send message
Joined: 7 Jun 14
Posts: 36
Credit: 193,426
RAC: 60
Message 494 - Posted: 3 Jan 2015, 19:13:22 UTC - in response to Message 492.

This is a shame, because I keep my laptop loaded with BU tasks, normally, but have 2 or 3 ARM devices that are crunching for other projects, but I would love to donate more power to this project, but can't for now - once the project gets famous and grows, could there be an ARM app - it would get 1000s and 1000s more devices involved...


OMFG!


could you please consider that this projects needs IEEE 754 compatible FLOATING-POINT hardware and there is no ARM design available providing this?

software emulation could be coded (if anyone would be crazy enough) but you'd have a penalty in speed of at least 2 magnitudes.

so can we please have a note on the main page, that this is not going to happen?

Profile Michael Goetz
Avatar
Send message
Joined: 1 Jan 15
Posts: 25
Credit: 1,197,466
RAC: 297
Message 500 - Posted: 3 Jan 2015, 20:01:10 UTC - in response to Message 492.

This is a shame, because I keep my laptop loaded with BU tasks, normally, but have 2 or 3 ARM devices that are crunching for other projects, but I would love to donate more power to this project, but can't for now - once the project gets famous and grows, could there be an ARM app - it would get 1000s and 1000s more devices involved...


Conceptually, a computer is a computer is a computer, so why can't ARM do this? It's a valid question -- and there's a really, really good answer.

Super TL;DR answer: Theoretically, ARM could do it, but it's a stupid idea. Ain't gunna happen.

Normal TL;DR version: You'll probably never see this kind of app running on ARM processors. At least not unless the focus of those ARM CPUs changes radically and they start producing CPUs specifically targeted for the desktop market.

Full answer:

It's got nothing to do with nobody wanting to write the app. The ARM CPUs lack the necessary features to run these calculations efficiently.

It's not just, as other people have correctly said, the lack of IEEE floating point hardware. While that's a bare minimum (which ARM lacks) to be able to run these calculations at all, running them efficiently requires what's called SIMD instructions (Single-Instruction, Multiple-Data). On x86 CPUs, this is the SSE3, AVX, and FMA3 instruction sets that provide the turbo-charging that lets LLR run so fast. Run LLR on an older x86 CPU lacking those SIMD instructions and LLR is 10 to 40 times slower. If you were to create a version of LLR for ARM, it would need software emulation for the floating point routines, and would likely be an additional 100 times slower than those old desktop CPUs.

No amount of software engineering is going to compensate for the lack of necessary hardware in the CPU.

Could it be done? In theory, yes. But I'm probably underestimating how slow it would be if I said it would be over 1000 times slower than what a modern x86 CPU can do. Given how slow it would be, there's no incentive for anyone to put in the time to build such an app.

There's lots of things ARM processors are good at. It makes no sense to have them doing a task they're terrible at when there's more productive uses for them.

frankhagen
Send message
Joined: 7 Jun 14
Posts: 36
Credit: 193,426
RAC: 60
Message 501 - Posted: 3 Jan 2015, 20:11:04 UTC - in response to Message 500.
Last modified: 3 Jan 2015, 20:40:13 UTC

well, i did not want to give them a five figures penalty on this, but you are right, it would end up somewhere around that.

not even thinking of PI's...

the next one showing up with this suggenstion might earn one of my spare slide rulers. ;)

Profile CaffeinatedSloth
Send message
Joined: 12 Dec 14
Posts: 20
Credit: 2,927
RAC: 0
Message 502 - Posted: 3 Jan 2015, 20:40:50 UTC

aww - that's a shame - I will crunch on here as much as I can, and I am (indirectly) donating money through http://www.bitcoinutopia.net/bitcoinutopia.
____________
Thanks, from Chris.

Dirk Broer
Send message
Joined: 2 Jan 15
Posts: 49
Credit: 22,564,354
RAC: 114,493
Message 573 - Posted: 9 Jan 2015, 16:56:57 UTC - in response to Message 432.
Last modified: 9 Jan 2015, 16:58:07 UTC

The LLR application uses "gwnum code". This code is written for INTEL processors. Therefore you cannot compile the LLR application for ARM based OS's ..... until there is "gwnum code" available for ARM processors.

this will hardly ever happen simpy because afaik there is no arm-design that is IEEE 754 compatible.
there are commercial libraries for newer arm-design which support this, but since they need to emulate on that limited arm hardware....


"gwnum code" is *NOT* written for Intel CPUs but for CPUs using the x86 and x86-64 archtecture, so AMD CPUs and VIA CPUs can be used ass well.

And as Arthur C. Clarke once said: "Any sufficiently advanced technology is indistinguishable from magic". The mere fact that NOW there is no arm-design that is IEEE 754 compatible says nothing about the future. We are just waiting for a programmer to eable it, one way or another.

Profile Michael Goetz
Avatar
Send message
Joined: 1 Jan 15
Posts: 25
Credit: 1,197,466
RAC: 297
Message 576 - Posted: 9 Jan 2015, 17:20:37 UTC - in response to Message 573.

The LLR application uses "gwnum code". This code is written for INTEL processors. Therefore you cannot compile the LLR application for ARM based OS's ..... until there is "gwnum code" available for ARM processors.

this will hardly ever happen simpy because afaik there is no arm-design that is IEEE 754 compatible.
there are commercial libraries for newer arm-design which support this, but since they need to emulate on that limited arm hardware....


"gwnum code" is *NOT* written for Intel CPUs but for CPUs using the x86 and x86-64 archtecture, so AMD CPUs and VIA CPUs can be used ass well.

And as Arthur C. Clarke once said: "Any sufficiently advanced technology is indistinguishable from magic". The mere fact that NOW there is no arm-design that is IEEE 754 compatible says nothing about the future. We are just waiting for a programmer to eable it, one way or another.


I don't know who the "we" is in your your last sentence, but it doesn't include anyone who understands how LLR works, CPU architectures, and vector processing. Anyone who thinks that some sufficiently motivated programmer is going to come up with an "LLR app for ARM" is badly misinformed and sadly mistaken.

Please read (or re-read) my earlier post in this thread. What is necessary is a change in the ARM hardware. No programmer is going to be able to make any current ARM CPU run this kind of calculation efficiently.

(If anyone feels like going down the "what's wrong with an inefficient app, if there's tons of ARM processors out there?" road, it's so inefficient it would mean that task deadlines that are currently one day would have to become one year, and no project is going to do that. And, no, these tasks can't be split up into smaller pieces.)

frankhagen
Send message
Joined: 7 Jun 14
Posts: 36
Credit: 193,426
RAC: 60
Message 577 - Posted: 9 Jan 2015, 18:47:10 UTC

maybe it's time for a post in FAQ abot this.

Dirk Broer
Send message
Joined: 2 Jan 15
Posts: 49
Credit: 22,564,354
RAC: 114,493
Message 578 - Posted: 9 Jan 2015, 19:27:13 UTC - in response to Message 576.

Did I anywhere said "current ARM CPU" in my message?
____________

frankhagen
Send message
Joined: 7 Jun 14
Posts: 36
Credit: 193,426
RAC: 60
Message 579 - Posted: 9 Jan 2015, 19:50:20 UTC - in response to Message 578.

Did I anywhere said "current ARM CPU" in my message?


of course you can keep on trying to earn an *****-badge, but this is boring.

Profile Michael Goetz
Avatar
Send message
Joined: 1 Jan 15
Posts: 25
Credit: 1,197,466
RAC: 297
Message 580 - Posted: 9 Jan 2015, 20:08:21 UTC - in response to Message 578.

Did I anywhere said "current ARM CPU" in my message?


Fair enough. If you read what I wrote, I specifically said I was talking about existing CPUs and left open the theoretical possibility (of course) that ARM could design a CPU with the kind of desktop abilities that are necessary for efficiently doing these calculations. This would almost certainly be a desktop CPU and not a low power mobile CPU, but it would still be an "ARM processor."

I take it, from the statement you made, that you are aware of such plans. Would you be so kind as to provide a link to a credible source with information about plans to produce future ARM processors with vector (SIMD) IEEE double precision floating point hardware? Thank you!

Dirk Broer
Send message
Joined: 2 Jan 15
Posts: 49
Credit: 22,564,354
RAC: 114,493
Message 582 - Posted: 9 Jan 2015, 21:01:35 UTC - in response to Message 580.

Fair enough: http://www.arm.com/products/processors/technologies/vector-floating-point.php

Profile Michael Goetz
Avatar
Send message
Joined: 1 Jan 15
Posts: 25
Credit: 1,197,466
RAC: 297
Message 583 - Posted: 9 Jan 2015, 21:12:09 UTC - in response to Message 582.

Fair enough: http://www.arm.com/products/processors/technologies/vector-floating-point.php


Thanks.

VFP10 is a step in the right direction. When that's available, serious discussion about ARM versions of this software will be reasonable. It will still be slower (and a lot slower), but not nearly as bad as the current differential of several orders of magnitude.

Until then, we wait patiently.

frankhagen
Send message
Joined: 7 Jun 14
Posts: 36
Credit: 193,426
RAC: 60
Message 585 - Posted: 9 Jan 2015, 21:18:47 UTC - in response to Message 583.

VFP10 is a step in the right direction. When that's available, serious discussion about ARM versions of this software will be reasonable. It will still be slower (and a lot slower), but not nearly as bad as the current differential of several orders of magnitude.

Until then, we wait patiently.


if anyone is going to buy that design and goes into mass-production.
does anyone need a gadget capable of running vector math?

Profile Michael Goetz
Avatar
Send message
Joined: 1 Jan 15
Posts: 25
Credit: 1,197,466
RAC: 297
Message 587 - Posted: 9 Jan 2015, 21:24:32 UTC - in response to Message 585.

VFP10 is a step in the right direction. When that's available, serious discussion about ARM versions of this software will be reasonable. It will still be slower (and a lot slower), but not nearly as bad as the current differential of several orders of magnitude.

Until then, we wait patiently.


if anyone is going to buy that design and goes into mass-production.
does anyone need a gadget capable of running vector math?


We do. :)

DeleteNull
Volunteer tester
Send message
Joined: 29 Nov 14
Posts: 70
Credit: 206,806,422
RAC: 13,972
Message 613 - Posted: 12 Jan 2015, 11:57:58 UTC - in response to Message 587.

RaspberryPi has this http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ddi0301h/index.html (section 1.5.9)

Dirk Broer
Send message
Joined: 2 Jan 15
Posts: 49
Credit: 22,564,354
RAC: 114,493
Message 621 - Posted: 12 Jan 2015, 23:41:07 UTC - in response to Message 613.

RaspberryPi has this http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ddi0301h/index.html (section 1.5.9)


And the RaspberryPi just has to do with a ARMv6 CPU. BananaPi and others based upon the Allwinner A20 SOC do it with an ARMv7, which is more powerful.

Dirk Broer
Send message
Joined: 2 Jan 15
Posts: 49
Credit: 22,564,354
RAC: 114,493
Message 2496 - Posted: 18 Apr 2016, 0:30:35 UTC - in response to Message 621.
Last modified: 18 Apr 2016, 0:32:14 UTC

RaspberryPi has this http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ddi0301h/index.html (section 1.5.9)


And the RaspberryPi just has to do with a ARMv6 CPU. BananaPi and others based upon the Allwinner A20 SOC do it with an ARMv7, which is more powerful.


In the meantime the Raspberry Pi 2 has come out, using an ARM Cortex-A7 with ARMv7 architecture/instruction set and that has been followed by the Raspberry Pi 3, using an ARM Cortex-A53 with ARMv8 architecture/instruction set. Biggest problem for the Raspberry as a crunching platform is the small amount of RAM: 1 GB.

Previous · 1 · 2
Post to thread

Message boards : Number crunching : Raspberry Pi


Main page · Your account · Message boards


Copyright © 2014-2021 BOINC Confederation / rebirther