Message boards : Number crunching : Optimising/porting Minirosetta as a diploma project
Author | Message |
---|---|
Tribaal Send message Joined: 6 Feb 06 Posts: 80 Credit: 2,754,607 RAC: 0 |
Hi all. I've been crunshing for Rosetta for a while now, and have always been a little put off by the lack of optimized client (like many). It is an understandable but frustrating choice, since you have only limited resources. I'm starting my last year in Engineering school here in Switzerland, and my curriculum requires me to present a graduation project. As such, school will grant me time to work on either a project of my choice, or propose a boring project to write a paper on. If possible, I would like to do something both useful to the general community and fun for me to work on. Would you (the project mods) be willing to open your source code (under NDA, if required) to myself and the few teachers that would judge my work at school? This would enable me to port/optimize Rosetta to a defined set of architectures during the project's duration. Say, porting/optimizing to amd64 and/or Ia64 architectures? They both include some level of MMX instructions per RFC, and all my machines are 64bits linux boxes (good for QA). The project's duration is (academically) 3-6 months. Of course, I understand this would raise lots of questions from your part (legal status of school projects, my personal qualificaitons,...). I'm more than willing to answer any of them. (Project mods/coders, feel free to frop me an email) So in short, could you guys use some help working on rosetta from another academic institution (free of charge)? Cheers - Trib' |
Chilean Send message Joined: 16 Oct 05 Posts: 711 Credit: 26,694,507 RAC: 0 |
|
Mod.Sense Volunteer moderator Send message Joined: 22 Aug 06 Posts: 4018 Credit: 0 RAC: 0 |
Trib, the mods are not the holders of the source code. But you can start the process here (specifically, see the link for "Rosetta Licensing Information" near the bottom). There you can read the license agreement, and Congratulations on nearing the end of your formal education. Baker lab works with many researchers around the globe, in addition to the Fold.it! team. All are working to improve the code, with their focus primarily on the science of how proteins work. So, perhaps an eye specifically for optimization would be a fresh perspective (I do not know). The topic has arisen many times, and some speculate that optimizations will not materially improve performance. From your perspective, it might be good to have a "Plan B" for what to do if your results are not as fruitful as you presently visualize. Perhaps a plan B of analysis on WHY specific optimizations do not make measurable improvement would suffice, (if that is found to be the case). Rosetta Moderator: Mod.Sense |
Tribaal Send message Joined: 6 Feb 06 Posts: 80 Credit: 2,754,607 RAC: 0 |
Thanks a lot for you input. Indeed, a report on *why* optimization didn't work as well as intended would work. My first idea was to port to other architectures (namely 64 bits), optimizing in the process, but maybe my work could be used better in other parts of the application... I'll send an email to people from the baker lab directly, even if it's to hear that they won't need my work :) Thanks - Trib' |
Michael G.R. Send message Joined: 11 Nov 05 Posts: 264 Credit: 11,247,510 RAC: 0 |
I just want to encourage Tribaal. Very good idea! Even if optimizing for MMX/SSEx/etc only improves speed by a few percents, over thousands of computers and many teraFLOPS, it makes a difference. Anything that improves our chances of making scientific breakthroughs and of designing useful medical therapies is worth it, IMO. And who knows what you will find when you look at the code. Maybe you can help optimize their algorithms even without using MMX/SSEx. |
Paul Send message Joined: 29 Oct 05 Posts: 193 Credit: 66,501,314 RAC: 9,302 |
Thank you for the interest in making R@H even better. Even a small improvement in efficiency will be multiplied by thousands of hosts world wide. After more than 2M credits, I continue to wish for an optimized client. It would be ideal to have clients optimized for P4s as well as Core 2 and AMD. Even if we could just find a way to fully exploit SSE or SSE2 instructions would be great. Please keep us informed as to your progress. thx Thx! Paul |
Tribaal Send message Joined: 6 Feb 06 Posts: 80 Credit: 2,754,607 RAC: 0 |
Well so far, my humble email to the project remains unanswered. I'd like to port to 64bits processors as a first target really, since both norms include some form of SSE instructions and would require fewer clock cycles per flops (if they are double precision) - that would be a first step. Also, the academic part is timed - I need to define a precise scope :) that doesn't mean I wouldn't continue porting code if I have time/opportunity of course. It would be really interesting from a algorithmic complexity standpoint to be able to scan through rosetta@home code - it's a perfect example of heuristic programming (approximating results as finely as possible, since the total number of possibility is practically infinite). I'm sure my theoretical computing teacher would be willing to mentor, too. Anyway, hope I'll at least get an answer :) - Trib' PS: congrats for the 2M credits milestone :) |
Message boards :
Number crunching :
Optimising/porting Minirosetta as a diploma project
©2024 University of Washington
https://www.bakerlab.org