Seti@Home optimized science apps and information

Optimized Seti@Home apps => Windows => Topic started by: CElliott on 05 May 2008, 08:09:22 am

Title: Source Code for AK_v8_win_SSSE3X.exe Apps
Post by: CElliott on 05 May 2008, 08:09:22 am
On my Q6700 machine I am getting about a 38% speed increase with the new optimized apps, from about 86 minutess per WU to about 53 minutes.  "Thanks" seems underwhelming for what is almost a miracle.  Is there any way we could see how this huge improvement was achieved, such as source code, an explanation of how the gains were made, etc.?
Title: Re: Source Code for AK_v8_win_SSSE3X.exe Apps
Post by: Jason G on 05 May 2008, 08:32:24 am
Hi there,
       The sources (modified from Alex's version 8 source) are available in the downloads section, under seti@Home modified source section.  I appreciate that doesn't document the process of how the port was accomplished, but can say:
           - Many small changes to fundamental data types were required to convert to Windows from Mac Code
           - A few key library functions had to be researched for suitable alternatives and changed to different vendor libraries
           - A small bug, that caused no problems on Macs, but Crashed Windows version was found and fixed.
          - Extensive exploration if Alex's intended functionality had to be explored, and tried several combinations of settings and optimisation techniques, and incorporated ones learnt form Lunatics development also.
          - A new dedicated profile guided optimisation regime was developed and refined
          -Windows builds were extensively tested, compared, refined and selectively promoted to release.

I hope that gives some idea,  the real process, of course, spans quite a while and with several main contributors.

Jason

Title: Re: Source Code for AK_v8_win_SSSE3X.exe Apps
Post by: RottenMutt on 22 Jun 2008, 04:34:39 pm
so is it just different math or change how cache is used?
Title: Re: Source Code for AK_v8_win_SSSE3X.exe Apps
Post by: Jason G on 22 Jun 2008, 05:05:00 pm
Both those things, data alignment related processing optimisations, and the interaction of all these things on a microarchitectural level.