Projects Optimized Apps

Message boards : Questions and problems : Projects Optimized Apps
Message board moderation

To post messages, you must log in.

AuthorMessage
Profile Jonathan Brier
Avatar

Send message
Joined: 7 Sep 07
Posts: 45
United States
Message 23179 - Posted: 18 Feb 2009, 3:55:51 UTC

Ok I know that some projects have optimized apps for sse sse2 and so on, but whether the applications are official or not is not the question.

My question is if a project approved an optimized app and added it to the server as a distributed exe. What app will be distributed? Would the optimized apps with sse2 go to the computers with that capability and the default run on anything app go out to the rest? Or can projects only distribute one app and that is why most only release one version of an app?

I am not a programmer, but this question was raised in a discussion among friends regarding BOINC. My friends an I wanted to know if BOINC really is taking full advantage of the computer's capabilities. I don't know anything about optimizing codes and if it is just a compiler thing or has to be a change of code. Any insight would be very helpful. Thank you in advance.
ID: 23179 · Report as offensive
Les Bayliss
Help desk expert

Send message
Joined: 25 Nov 05
Posts: 1654
Australia
Message 23180 - Posted: 18 Feb 2009, 4:43:25 UTC

Some of the optimisations are a change in code to take advantage of every little speed increase for a given brand of cpu, (and hence of slight differences in how the maths units do their work), and some are through the use of compiler switches, which select different SSEs, (among other things).
I think that a lot of the speed-ups occur with projects that use a lot of fixed point maths for their science calcs.

Climate prediction, for instance, makes heavy use of floating point maths, with the Fortran language. This is because of the huge range of values of the various variables, ranging from millions to millionths. It was because of the huge range that a test of compiler options for one of the models using SSE3 failed to work, because the compiler was rounding off small values to zero, in relation to others. This lead to a warmer model than the reference models.

And as for
if BOINC really is taking full advantage of the computer's capabilities
BOINC doesn't do science work. It's just the house keeper / traffic director. Optimising it may gain you extra credits for those projects still using benchmark values for their credit calcs, but that's all you'll achieve.

ID: 23180 · Report as offensive
Profile Gundolf Jahn

Send message
Joined: 20 Dec 07
Posts: 1069
Germany
Message 23183 - Posted: 18 Feb 2009, 8:39:23 UTC - in response to Message 23179.  

...My question is if a project approved an optimized app and added it to the server as a distributed exe. What app will be distributed? Would the optimized apps with sse2 go to the computers with that capability and the default run on anything app go out to the rest? Or can projects only distribute one app and that is why most only release one version of an app?
...

As Les Bayliss pointed out, it's the project and not BOINC which has to take care of that.

I know that at Einstein@home all applications are distributed and at the host site a starter app decides which one to use, according to the capabilities of the host reported by the operating system.

Gruß,
Gundolf
Computer sind nicht alles im Leben. (Kleiner Scherz)
ID: 23183 · Report as offensive
Profile Jonathan Brier
Avatar

Send message
Joined: 7 Sep 07
Posts: 45
United States
Message 23196 - Posted: 18 Feb 2009, 18:53:36 UTC - in response to Message 23180.  


And as for
if BOINC really is taking full advantage of the computer's capabilities
BOINC doesn't do science work. It's just the house keeper / traffic director. Optimising it may gain you extra credits for those projects still using benchmark values for their credit calcs, but that's all you'll achieve.



Sorry if I was not clear, but I understand the basic functions of BOINC vs a project app. Where BOINC is the distributor and the Apps do the work.

My question which has been more or less answered by Gundolf and yourself was regarding to the distribution of applications and whether there was a way to determine and distribute applications with optimizations for certain instruction sets and cpus.

In short the answer as I understand is yes there is a way, but the projects have to detect what are the capabilities upon first attachment. Also I as I understand BOINC does not tell a project that a computer has x, y ,z and send an app that best works for these.
ID: 23196 · Report as offensive
Profile Gundolf Jahn

Send message
Joined: 20 Dec 07
Posts: 1069
Germany
Message 23203 - Posted: 18 Feb 2009, 21:35:31 UTC - in response to Message 23196.  

In short the answer as I understand is yes there is a way, but the projects have to detect what are the capabilities upon first attachment. Also as I understand BOINC does not tell a project that a computer has x, y ,z and send an app that best works for these.

Almost, only that it's not only on first attachment but always. The BOINC client starts the starter app, which in turn starts the appropriate science app. So, there are always two (Einstein) applications active, one of which is crunching (with windows visible in task manager).

Gruß,
Gundolf
Computer sind nicht alles im Leben. (Kleiner Scherz)
ID: 23203 · Report as offensive

Message boards : Questions and problems : Projects Optimized Apps

Copyright © 2024 University of California.
Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation.