Make BOINC faster by compiling programs

Message boards : Questions and problems : Make BOINC faster by compiling programs
Message board moderation

To post messages, you must log in.

AuthorMessage
foobar1234567890

Send message
Joined: 17 Sep 12
Posts: 23
United States
Message 47435 - Posted: 21 Jan 2013, 18:43:09 UTC

I heard that it is possible to get up to a 25% performance boost on CPU-intensive programs like many BOINC projects by simply compiling the programs on the computer that's using them. Would it be possible to put an option in BOINC that (when set) allows the user to download the source code for the project and compile it on their computer for faster running? I, for one, would definitely use it.
ID: 47435 · Report as offensive
Profile Jord
Volunteer tester
Help desk expert
Avatar

Send message
Joined: 29 Aug 05
Posts: 15480
Netherlands
Message 47438 - Posted: 21 Jan 2013, 19:07:11 UTC - in response to Message 47435.  

Not sure where you heard this, but it's not completely true. What is true is that it can speed up calculations for some projects if the science applications were to use certain CPU extensions that are otherwise not used. But this isn't true for all projects.

Whether or not you can download the project's science application's source code is up to the project, really. It's their code, be it open source (freely available under some form of GNU General Public License (GPL)) or proprietary (you won't be able to touch it).

Then, even if you were able to get the source code, it's not that easy to compile it into something that works on your computer. For this you require a compiler program, one that's capable of compiling the source code from whatever computing language it was written in, into something that's executable. Some of these compilers cost money, and then not just for a tenner, but over €1,000.- so not something you'll be seeing every user do.

And then there's the projects themselves who may not like what you did to their code and block your client from using that executable. Or they may release optimized applications themselves. But then tested and tried to make sure it works with their data and that the results coming out of it are something they can work with. For it may be easy to speed up code and compile it into something that speeds through the tasks. Yet if all your computer then does it return total garbage, what's the use of this 'optimization'?

Also, not all code can be optimized to speed up using the CPU's extensions. So there'll always be projects with slower applications than others. And really now, what's the hurry?
ID: 47438 · Report as offensive
foobar1234567890

Send message
Joined: 17 Sep 12
Posts: 23
United States
Message 47444 - Posted: 21 Jan 2013, 20:46:24 UTC - in response to Message 47438.  
Last modified: 21 Jan 2013, 20:47:07 UTC

I've heard that it's possible to do most of these things (compiler wise) on Windows using Cygwin. It's free and open-source. As for the projects, I only intended to do it for those that were open-source. I also intended for the capability to be built into BOINC itself, so that it could guarantee that the users hadn't been messing with the code.

For the record, I'm in a hurry so that I can get more results done and help out the scientists more.
BarneyFifeFan
ID: 47444 · Report as offensive
kdsjsdj

Send message
Joined: 5 Jan 13
Posts: 81
Message 47450 - Posted: 22 Jan 2013, 9:00:27 UTC - in response to Message 47444.  
Last modified: 22 Jan 2013, 9:01:21 UTC

For the most part it's a bad idea. Compilers can be kind of finicky things and for most people it's best if it doesn't happen on their computer. Yes, it would be hidden under the cover of BOINC but since there would be little to gain why bother creating more potential troubles

BTW, cygwin is not a compiler. It is a free Linux emulator that runs on Windows. You might be thinking of minGW which is a free Windows port of the free GNU compiler.

Don't hurry; we're in a rush.
ID: 47450 · Report as offensive
SekeRob2

Send message
Joined: 6 Jul 10
Posts: 585
Italy
Message 47456 - Posted: 22 Jan 2013, 12:44:23 UTC - in response to Message 47444.  

For computing primes and other pure math result output that have a complete true/false, no problem, but I can see scientists never relinquishing control of what comes out of their bio docking/folding or chemical bonding simulations, open-source [AutoDock is one]. Years of volunteer effort and scientists being stuck with "optimized" results on compounds that cant be trusted to match the rest of the database assembly of millions upon millions compound chemistry simulations and having to be dismissed with the paining question "would this one have been the one"? We do know that not 2 computers produce the exact same, believe or not, so having control of the program and knowing it's tolerances is the only way to know if output is right or wrong... let's say a 37MB CEP2 output file. How you're going to know if the produced from a private compile is right or wrong? There's no verifiability unless a second copy is computed, and that already has halved the speed of the project to completion.
Coelum Non Animum Mutant, Qui Trans Mare Currunt
ID: 47456 · Report as offensive

Message boards : Questions and problems : Make BOINC faster by compiling programs

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.