[LINUX] A Faster SETI app to go with my optimized boinc apps

Message boards : Number crunching : [LINUX] A Faster SETI app to go with my optimized boinc apps
Message board moderation

To post messages, you must log in.

Previous · 1 · 2 · 3 · 4 · 5 · 6 . . . 7 · Next

AuthorMessage
Profile ML1
Volunteer moderator
Volunteer tester

Send message
Joined: 25 Nov 01
Posts: 20456
Credit: 7,508,002
RAC: 20
United Kingdom
Message 93784 - Posted: 1 Apr 2005, 20:26:40 UTC - in response to Message 93721.  
Last modified: 1 Apr 2005, 20:27:57 UTC

> Also, I have found some nice parameters for ./configure script. The
> --disable-server is well known, it build only the client. But also try the
> --disable-gui and --disable-dynamic-graphics . It cuts compile time a little,
> and when these flags are in use, then no setiathome_4.07_i686-pclinux-gnu.so
> is created. Also I dont know if there is a gui for setiathome in Linux, and
> even if it was, I wouldn't use it :)

Good to keep it all lean and mean and FAST.

I hope the static compile problems can be cleared soon for the optimised clients.

Next is to take advantage of FFTW code to really speed things up! (:-))

Regards,
Martin

See new freedom: Mageia Linux
Take a look for yourself: Linux Format
The Future is what We all make IT (GPLv3)
ID: 93784 · Report as offensive
Chris Bosshard

Send message
Joined: 5 Jun 99
Posts: 86
Credit: 3,474,583
RAC: 0
Switzerland
Message 93791 - Posted: 1 Apr 2005, 21:14:47 UTC
Last modified: 1 Apr 2005, 21:16:09 UTC

One thing to mention regarding GCC 4:
In one of the latest issues of the german CT magazine there was a comparison of different GCC version including the latest snapshot of GCC4.

The result was that CGG 3.42 showed the best consistent results, while the GCC 4 struggled to compile some of the code tested. Furthermore the resulting binaries were slower on some of the tested software.

So there is no need to switch to GCC 4 just yet... ;-)

P.S.
So far no problems with the results returned on several clients compiled with -ffastmath. All WU's validated properly. :-)

Chris
Chris Bosshard
Visit my homepage
astroinfo SETI page
ID: 93791 · Report as offensive
Profile Benher
Volunteer developer
Volunteer tester

Send message
Joined: 25 Jul 99
Posts: 517
Credit: 465,152
RAC: 0
United States
Message 93805 - Posted: 1 Apr 2005, 22:43:29 UTC

Course you could try to implement my SSE and 3DNow FFT code, and for Altivec Brad Anderson.

But then most of this has been discussed over at Sourceforge. (Ned's a team member)
ID: 93805 · Report as offensive
Profile Neil Walker
Volunteer tester
Avatar

Send message
Joined: 23 May 99
Posts: 288
Credit: 18,101,056
RAC: 0
United Kingdom
Message 93879 - Posted: 2 Apr 2005, 3:42:03 UTC - in response to Message 93791.  

> So there is no need to switch to GCC 4 just yet... ;-)

Nope. 3.4's been amazingly stable for a while now. I was just curious. ;)

> P.S.
> So far no problems with the results returned on several clients compiled with
> -ffastmath. All WU's validated properly. :-)

Same here - 3 machines all getting credit somewhat faster than before. :)


Be lucky

Neil



ID: 93879 · Report as offensive
Ned Slider

Send message
Joined: 12 Oct 01
Posts: 668
Credit: 4,375,315
RAC: 0
United Kingdom
Message 93909 - Posted: 2 Apr 2005, 5:48:55 UTC - in response to Message 93782.  

> export CHOST="i686-pc-linux-gnu"
>
> export CFLAGS="-march=athlon-4 -O3 -funroll-loops -mfpmath=sse
> -minline-all-stringops -falign-functions=4 -frerun-cse-after-loop
> -frerun-loop-opt -m3dnow -malign-double -mfancy-math-387 -mfp-ret-in-387 -pipe
> -fschedule-insns2 -fexpensive-optimizations"
> export CXXFLAGS="$CFLAGS"
>

Hi Martin,

Anyone want to try benchmarking some of these flags on the test reference unit?

I tested flags like -m3dnow and -mfpmath=sse before and didn't see any improvement. I assumed this was because the current code isn't written to take advantage of these features.

Ned


*** My Guide to Compiling Optimised BOINC and SETI Clients ***
*** Download Optimised BOINC and SETI Clients for Linux Here ***
ID: 93909 · Report as offensive
Ned Slider

Send message
Joined: 12 Oct 01
Posts: 668
Credit: 4,375,315
RAC: 0
United Kingdom
Message 93910 - Posted: 2 Apr 2005, 5:51:46 UTC - in response to Message 93805.  

> Course you could try to implement my SSE and 3DNow FFT code, and for Altivec
> Brad Anderson.
>
> But then most of this has been discussed over at <a> href="https://sourceforge.net/projects/setiboinc/">Sourceforge[/url]. (Ned's a
> team member)
>
>

Please don't think me rude Ben for not testing your optimized code - it's just that I wouldn't really know where to start (I'm not a programmer!!). I'm looking forward to the time when some of this code makes it into the nightly sources :)

Ned


*** My Guide to Compiling Optimised BOINC and SETI Clients ***
*** Download Optimised BOINC and SETI Clients for Linux Here ***
ID: 93910 · Report as offensive
Profile wubby - BOINC.Italy
Avatar

Send message
Joined: 3 Apr 99
Posts: 1
Credit: 126,179
RAC: 0
Italy
Message 95002 - Posted: 4 Apr 2005, 22:06:52 UTC - in response to Message 91574.  

> If you would be interested, please post your processor architecture (Athlon
> XP, PIII, P4 etc) and I might make some optimized clients available for public
> download :)

Debian 32bit:
http://setiweb.ssl.berkeley.edu/show_host_detail.php?hostid=685063

seti_boinc-client-cvs-2005-03-18.tar.gz
fftw3
CFLAGS="-O3 -march=k8 -ffast-math -fomit-frame-pointer -malign-double -mfpmath=sse -fpeel-loops -ftracer -funswitch-loops -funit-at-a-time"

Debian 64bit:
http://setiweb.ssl.berkeley.edu/show_host_detail.php?hostid=653384

seti_boinc-client-cvs-2005-03-18.tar.gz
fftw3
CFLAGS="-O3 -ffast-math -funroll-all-loops -fpeel-loops -ftracer -funswitch-loops -funit-at-a-time"

:)
--
Addio e grazie per tutto il pesce
ID: 95002 · Report as offensive
Ned Slider

Send message
Joined: 12 Oct 01
Posts: 668
Credit: 4,375,315
RAC: 0
United Kingdom
Message 97909 - Posted: 12 Apr 2005, 17:31:42 UTC
Last modified: 12 Apr 2005, 17:32:59 UTC

OK, I've posted my optimized seti client for download, the link can be found here together with a more detailed description:

It completes the reference work unit in 76% of the time taken by the native berkeley linux client. Been running it for a week on two systems and all results have validated.

Enjoy,

Ned


*** My Guide to Compiling Optimised BOINC and SETI Clients ***
*** Download Optimised BOINC and SETI Clients for Linux Here ***
ID: 97909 · Report as offensive
BlackJack
Volunteer tester

Send message
Joined: 21 Jul 03
Posts: 5
Credit: 623,040
RAC: 0
Russia
Message 99083 - Posted: 15 Apr 2005, 11:36:51 UTC
Last modified: 15 Apr 2005, 11:37:36 UTC

Hi!

Ned, I would be interested in a optimized client for my G4s and G5s with AltiVec and would be willing to help in any way. However I'm just a advance user and any skills that I have regarding compilers is truly minimal.
ID: 99083 · Report as offensive
N/A
Volunteer tester

Send message
Joined: 18 May 01
Posts: 3718
Credit: 93,649
RAC: 0
Message 99094 - Posted: 15 Apr 2005, 12:01:47 UTC - in response to Message 99083.  

We're all asking for that, but I have a feeling that the devs are bracing for any bugs that Tiger's release will cause BOINC.
ID: 99094 · Report as offensive
Profile Spectrum
Avatar

Send message
Joined: 14 Jun 99
Posts: 468
Credit: 53,129,336
RAC: 0
Australia
Message 99104 - Posted: 15 Apr 2005, 12:43:08 UTC - in response to Message 91574.  
Last modified: 15 Apr 2005, 12:55:32 UTC

Soz

I hit the wrong key instead of the anykey.
ID: 99104 · Report as offensive
Profile Spectrum
Avatar

Send message
Joined: 14 Jun 99
Posts: 468
Credit: 53,129,336
RAC: 0
Australia
Message 99107 - Posted: 15 Apr 2005, 12:54:13 UTC - in response to Message 91574.  

> Hi all,
>
> I've been working with Chris Bosshard on an optimized SETI app for LINUX to
> accompany my optimized boinc clients, and I wanted to guage interest to see if
> it's worth compiling a whole bunch of these for different processor
> architectures and making them available for download.
>
> So far we've only tested on AMD processors and are seeing about 13%
> improvements for AthlonXP and slightly more (15-20% ??) for 64-bit systems
> (x86_64). Given these improvements I wondered what sort of interest there
> would be.
>
> If you would be interested, please post your processor architecture (Athlon
> XP, PIII, P4 etc) and I might make some optimized clients available for public
> download :)
>
> And thanks again to Chris Bosshard :)
>
> Regards,
>
> Ned
>
>

Ned
I would be really pleased if you would do this, I am running a athlon xp 3200+ even though my stats page says 3000+

I am half way through the process of getting LINUX installed and if it runs better than or at an equal level to "Windoze" I would be most gratefull, if you require further info on my setup or proposed setup please let me know.
Also If there is a particular version of Linux that you are optimizing for, please let me know.

By the way is that a 13% increase over windoze or current LINUX setups

Thanks in advance.
ID: 99107 · Report as offensive
Ned Slider

Send message
Joined: 12 Oct 01
Posts: 668
Credit: 4,375,315
RAC: 0
United Kingdom
Message 99127 - Posted: 15 Apr 2005, 13:50:51 UTC - in response to Message 99107.  

>
> By the way is that a 13% increase over windoze or current LINUX setups
>
> Thanks in advance.
>

We've improved that to a client completing in 75% of the time taken for the default linux client. This is also faster than the windows client on the same hardware.

My client is now available, the download link can be found here:

http://forums.pcper.com/showthread.php?t=385265 (end of 1st post).

HOWEVER - it only natively works on Fedora Core 3 (and any other distro with the prerequisite libs). I've successfully ported it to FC2, but you'll need to manually meet the required dependencies if you're missing them. The reason for this is we have yet to be able to figure out how to successfully build a static version that will run on any distro, but we are still working on it :)

When we have a static version, I'll post it to my website for download, but in the meantime, feel free to use the dynamic version (it shouldn't be that difficult to solve the dependencies).



Regards,

Ned
*** My Guide to Compiling Optimised BOINC and SETI Clients ***
*** Download Optimised BOINC and SETI Clients for Linux Here ***
ID: 99127 · Report as offensive
Ned Slider

Send message
Joined: 12 Oct 01
Posts: 668
Credit: 4,375,315
RAC: 0
United Kingdom
Message 100676 - Posted: 18 Apr 2005, 3:29:09 UTC

A fully static athlon-xp seti client is now available for download. Being truely static, it should run on any linux platform and can be used in conjunction with my optimized boinc clients if you wish. The link can be found here:


http://forums.pcper.com/showthread.php?p=3446752#post3446752


Simply stop your boinc client, place the new client and the accompanying app_info.xml file in your /projects/setiathome.berkeley.edu directory and restart the boinc client.

PLEASE BACKUP YOUR BOINC DIRECTORY FIRST. This client hasn't been thoroughly tested yet.

It should complete units in about 75% of the time normally taken by the standard native linux client.

If you test this client, please report back how it runs for you. Once I have some feedback, I'll post it to the downloads section of my site.

BIG thanks must go to Metod for helping me figure out how to get the static builds working :)

Regards,

Ned

*** My Guide to Compiling Optimised BOINC and SETI Clients ***
*** Download Optimised BOINC and SETI Clients for Linux Here ***
ID: 100676 · Report as offensive
Profile Paul D. Buck
Volunteer tester

Send message
Joined: 19 Jul 00
Posts: 3898
Credit: 1,158,042
RAC: 0
United States
Message 100813 - Posted: 18 Apr 2005, 16:26:02 UTC - in response to Message 100676.  

> A fully static athlon-xp seti client is now available for download. Being
> truely static, it should run on any linux platform and can be used in
> conjunction with my optimized boinc clients if you wish.

> BIG thanks must go to Metod for helping me figure out how to get the static
> builds working :)

Way to go guys!

This is great news ... have you reported the needed changes to the make files?
ID: 100813 · Report as offensive
Ned Slider

Send message
Joined: 12 Oct 01
Posts: 668
Credit: 4,375,315
RAC: 0
United Kingdom
Message 100817 - Posted: 18 Apr 2005, 16:51:34 UTC - in response to Message 100813.  

> > A fully static athlon-xp seti client is now available for download.
> Being
> > truely static, it should run on any linux platform and can be used in
> > conjunction with my optimized boinc clients if you wish.
>
> > BIG thanks must go to Metod for helping me figure out how to get the
> static
> > builds working :)
>
> Way to go guys!
>
> This is great news ... have you reported the needed changes to the make files?
>

Hi Paul,

Eric K is well aware of the problem and has been working on a fix for a while. I did post to sourceforge to let him know I got it working. I'm going to have a play with the makefile when I get a chance to see if I can semi-automate the process, but this really isn't my area of expertise - it would be more of a bodge job!! But I may be able to semi-automate the process for others wishing to compile static versions.

Also, I'm working with older source code (Dec 2004) that may well have significantly changed in more recent versions (although the linux seti client version 4.02 hasn't changed in ages).

Ned



*** My Guide to Compiling Optimised BOINC and SETI Clients ***
*** Download Optimised BOINC and SETI Clients for Linux Here ***
ID: 100817 · Report as offensive
Ned Slider

Send message
Joined: 12 Oct 01
Posts: 668
Credit: 4,375,315
RAC: 0
United Kingdom
Message 100818 - Posted: 18 Apr 2005, 16:56:42 UTC - in response to Message 100676.  


>
> Simply stop your boinc client, place the new client and the accompanying
> app_info.xml file in your /projects/setiathome.berkeley.edu directory and
> restart the boinc client.
>
> PLEASE BACKUP YOUR BOINC DIRECTORY FIRST. This client hasn't been thoroughly
> tested yet.
>

** UPDATE **

Some users have reported problems installing over the top of an existing installation, so here's how to perform a fresh install:

1. Create a new directory for boinc
2. Copy your boinc client of choice into the new directory.
3. Run the boinc client and attach to the project.
4. STOP the boinc client (Ctrl-C) BEFORE it completes the benchmarks.
5. Extract my setiathome binary and app_info.xml file into the /projects/setiathome.berkeley.edu directory.
6. Restart boinc

And please don't forget to leave me feedback if you use this client :)

Ned

*** My Guide to Compiling Optimised BOINC and SETI Clients ***
*** Download Optimised BOINC and SETI Clients for Linux Here ***
ID: 100818 · Report as offensive
Profile ML1
Volunteer moderator
Volunteer tester

Send message
Joined: 25 Nov 01
Posts: 20456
Credit: 7,508,002
RAC: 20
United Kingdom
Message 100873 - Posted: 18 Apr 2005, 21:08:07 UTC - in response to Message 100818.  
Last modified: 18 Apr 2005, 21:12:42 UTC

> > Simply stop your boinc client, place the new client and the accompanying
> > app_info.xml file in your /projects/setiathome.berkeley.edu directory and
> > restart the boinc client.
[...]
>
> ** UPDATE **
>
> Some users have reported problems installing over the top of an existing
> installation, so here's how to perform a fresh install:
[...]

Ned,

What's been the problems?

I've got other projects running so I'd rather not do a 'reinstall'.

I'm using your optimised Boinc client. What might go awry if I just untar to put the new s@h client and xml file into the projects dir along with the existing Berkeley s@h client? (NOTE: Do NOT do this as root, because you'll get "phil" as the files user id!)

In any case, how does the Boinc manager detect a new project client?

Thanks for the work on the clients!


BTW: Have you tried these gcc flags for a speedup? (listed in order of significance)
-march=athlon-4 -O3 -funroll-loops -mfpmath=sse -minline-all-stringops -falign-functions=4 -frerun-cse-after-loop -frerun-loop-opt -m3dnow -malign-double -mfancy-math-387 -mfp-ret-in-387 -pipe -fschedule-insns2 -fexpensive-optimizations

Adding the unsafe maths flag (no FPU checks done for bad results) will give a further speedup if the s@h and FFTW code is well behaved.

Regards,
Martin


See new freedom: Mageia Linux
Take a look for yourself: Linux Format
The Future is what We all make IT (GPLv3)
ID: 100873 · Report as offensive
Ned Slider

Send message
Joined: 12 Oct 01
Posts: 668
Credit: 4,375,315
RAC: 0
United Kingdom
Message 100887 - Posted: 18 Apr 2005, 22:14:06 UTC

One user reported problems overwriting (boinc unexpectedly exiting), but may have been an isolated or unrelated instance.

boinc uses the app_info.xml file to recognise the new client.

No, I haven't tried all of those flags. I'd be prepared to compile more clients with other optimization flags for testing if people would volunteer to test them. For each compiled client, 2 test runs would need to be performed on the test reference work unit and results sent back to me. At 2 to 3 hours per run, I simply don't have the time to constantly test new combinations of optimization flags. If we could get 5-10 volunteers then I could test 5-10 new optimization combinations to verify which flags make a positive contribution and then combine them into an uber client. If you have an athlon-XP (or compatible) and would like to contribute by performing two test runs on the reference work unit, you can e-mail me at nedslider[at]f2s[dot]com and I can arrange to send you the test files.

BTW, -ffast-math implies -fno-math-errno, -funsafe-math-optimizations, -fno-trapping-math, -ffinite-math-only, -fno-rounding-math and -fno-signaling-nans, and so far has not had any problems returning results that validate.

Ned


*** My Guide to Compiling Optimised BOINC and SETI Clients ***
*** Download Optimised BOINC and SETI Clients for Linux Here ***
ID: 100887 · Report as offensive
Profile ML1
Volunteer moderator
Volunteer tester

Send message
Joined: 25 Nov 01
Posts: 20456
Credit: 7,508,002
RAC: 20
United Kingdom
Message 102733 - Posted: 23 Apr 2005, 0:20:59 UTC - in response to Message 100887.  

> boinc uses the app_info.xml file to recognise the new client.

Ned,

OK, I've just untar-ed your optimised client and in projects/setiathome.berkeley.edu:

7.1M Apr 11 16:28 setiathome_4.02_i686-pc-linux-gnu*
2.1M Apr 18 03:02 setiathome_4.7_i686-pc-linux-gnu*


Why is your newer client so much smaller than your priviously optimised client?!

Are you sure about the static compiling?...

I'm on Mandrake 10.1... I guess I'll find out soon enough when boinc next pulls in s@h for some crunching.

Keep up the good work,

Regards,
Martin

See new freedom: Mageia Linux
Take a look for yourself: Linux Format
The Future is what We all make IT (GPLv3)
ID: 102733 · Report as offensive
Previous · 1 · 2 · 3 · 4 · 5 · 6 . . . 7 · Next

Message boards : Number crunching : [LINUX] A Faster SETI app to go with my optimized boinc apps


 
©2024 University of California
 
SETI@home and Astropulse are funded by grants from the National Science Foundation, NASA, and donations from SETI@home volunteers. AstroPulse is funded in part by the NSF through grant AST-0307956.