how to build custom rosetta for my cpus?

Questions and Answers : Unix/Linux : how to build custom rosetta for my cpus?

To post messages, you must log in.

AuthorMessage
JK

Send message
Joined: 28 Oct 06
Posts: 3
Credit: 2,682,596
RAC: 0
Message 64256 - Posted: 28 Nov 2009, 13:53:41 UTC

I've just spend 15 minutes searching the forums and I can't find info on how to build Rosetta with the right gcc switches to get the most out of my quad 6600. I figure that since it's up 24x7 I might as well get the most out of it and from 35 yrs experience I know that having the compiler generate code specifically for my cpu can result in anywhere from a 5-30% performance increase, sometimes more. Can someone point me at instructions on how to do this?
ID: 64256 · Rating: 0 · rate: Rate + / Rate - Report as offensive    Reply Quote
Mod.Sense
Volunteer moderator

Send message
Joined: 22 Aug 06
Posts: 4018
Credit: 0
RAC: 0
Message 64260 - Posted: 28 Nov 2009, 15:48:48 UTC

The Rosetta source is not published, and is changing all the time. You can compile the BOINC core client, (which actually only runs a tiny fraction of the time), but not the Rosetta application itself. All available optimizations are used when BakerLab creates new versions.
Rosetta Moderator: Mod.Sense
ID: 64260 · Rating: 0 · rate: Rate + / Rate - Report as offensive    Reply Quote
JK

Send message
Joined: 28 Oct 06
Posts: 3
Credit: 2,682,596
RAC: 0
Message 64290 - Posted: 30 Nov 2009, 0:06:03 UTC - in response to Message 64260.  

The Rosetta source is not published, and is changing all the time. You can compile the BOINC core client, (which actually only runs a tiny fraction of the time), but not the Rosetta application itself. All available optimizations are used when BakerLab creates new versions.


But they can't provide 'all available optimizations' since they don't know which CPU version I (or anyone/everyone) have. Large performance gains can be made by compiling with CPU specific switches for areas like SSE2 SSE3 etc and for pipeline scheduling and for cache architectures and sizes. These will only take place if the binary is built for the specific CPU.

I don't see why the souce isn't available so we can build it ourselves. They are asking for thousands or millions of hours of volunteer cpu hours, certainly the source could be made available. It's not like they would lose some competitive advantage or something. Maybe someone could explain to me what the source is open?

Thanks
ID: 64290 · Rating: 0 · rate: Rate + / Rate - Report as offensive    Reply Quote
JK

Send message
Joined: 28 Oct 06
Posts: 3
Credit: 2,682,596
RAC: 0
Message 64291 - Posted: 30 Nov 2009, 0:06:55 UTC - in response to Message 64290.  
Last modified: 30 Nov 2009, 0:08:39 UTC

The Rosetta source is not published, and is changing all the time. You can compile the BOINC core client, (which actually only runs a tiny fraction of the time), but not the Rosetta application itself. All available optimizations are used when BakerLab creates new versions.


But they can't provide 'all available optimizations' since they don't know which CPU version I (or anyone/everyone) have. Large performance gains can be made by compiling with CPU specific switches for areas like SSE2 SSE3 etc and for pipeline scheduling and for cache architectures and sizes. These will only take place if the binary is built for the specific CPU.

I don't see why the souce isn't available so we can build it ourselves. They are asking for thousands or millions of hours of volunteer cpu hours, certainly the source could be made available. It's not like they would lose some competitive advantage or something. Maybe someone could explain to me what the source is open?

Thanks


Oops, I meant ''isn't" open, obviously. Also, if you notice, I've got a reasonable amount of accumulated credit - I'm not trolling here, I really want to know, thanks.
ID: 64291 · Rating: 0 · rate: Rate + / Rate - Report as offensive    Reply Quote
Mod.Sense
Volunteer moderator

Send message
Joined: 22 Aug 06
Posts: 4018
Credit: 0
RAC: 0
Message 64294 - Posted: 30 Nov 2009, 4:14:47 UTC

If you hunt back far enough in Dr. Baker's posts, his original intention was to make the source available. I believe he may have changed his mind when the project gained such scale. The problem is that the application versions are changing rather constantly. And if you can picture attempting to diagnose reported problems, not knowing WHAT the heck the person reporting them is REALLY running, it can waste a significant amount of time chasing bugs that aren't even yours to find.

The other potential problem is just that when you release the source, you also give away any ability to protect yourself from hackers that are feeding you bogus results in an attempt to get more credit then the actual completed work would deserve. This sort of thing can mess with your scientific findings as you take averages and compare to prior runs (where perhaps such fraudulent results did not occur) if it would happen to go undetected. You might end up concluding that your latest round of changes does NOT do as good a job of predicting a protein as your earlier version did, when in reality, your runs with the latest changes just received more bogus result reports.

Those are just a couple of thoughts and do not necessarily resemble in any way the reasoning of BakerLab. I'm just a volunteer, not a colleague. I've not seen any specific reasons posted. But they do sell the software for commercial use as well, and that would be rather difficult if you were giving away the source.

On the other hand, the FINDINGS they make will be made publicly available. But perhaps not in the form of source code.
Rosetta Moderator: Mod.Sense
ID: 64294 · Rating: 0 · rate: Rate + / Rate - Report as offensive    Reply Quote

Questions and Answers : Unix/Linux : how to build custom rosetta for my cpus?



©2024 University of Washington
https://www.bakerlab.org