Message boards :
Number crunching :
[LINUX] A Faster SETI app to go with my optimized boinc apps
Message board moderation
Previous · 1 · 2 · 3 · 4 · 5 · 6 . . . 7 · Next
Author | Message |
---|---|
ML1 Send message Joined: 25 Nov 01 Posts: 20518 Credit: 7,508,002 RAC: 20 |
> 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) |
Chris Bosshard Send message Joined: 5 Jun 99 Posts: 86 Credit: 3,474,583 RAC: 0 |
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 |
Benher Send message Joined: 25 Jul 99 Posts: 517 Credit: 465,152 RAC: 0 |
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) |
Neil Walker Send message Joined: 23 May 99 Posts: 288 Credit: 18,101,056 RAC: 0 |
> 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 |
Ned Slider Send message Joined: 12 Oct 01 Posts: 668 Credit: 4,375,315 RAC: 0 |
> 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 *** |
Ned Slider Send message Joined: 12 Oct 01 Posts: 668 Credit: 4,375,315 RAC: 0 |
> 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 *** |
wubby - BOINC.Italy Send message Joined: 3 Apr 99 Posts: 1 Credit: 126,179 RAC: 0 |
> 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 |
Ned Slider Send message Joined: 12 Oct 01 Posts: 668 Credit: 4,375,315 RAC: 0 |
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 *** |
BlackJack Send message Joined: 21 Jul 03 Posts: 5 Credit: 623,040 RAC: 0 |
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. |
N/A Send message Joined: 18 May 01 Posts: 3718 Credit: 93,649 RAC: 0 |
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. |
Spectrum Send message Joined: 14 Jun 99 Posts: 468 Credit: 53,129,336 RAC: 0 |
Soz I hit the wrong key instead of the anykey. |
Spectrum Send message Joined: 14 Jun 99 Posts: 468 Credit: 53,129,336 RAC: 0 |
> 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. |
Ned Slider Send message Joined: 12 Oct 01 Posts: 668 Credit: 4,375,315 RAC: 0 |
> > 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 *** |
Ned Slider Send message Joined: 12 Oct 01 Posts: 668 Credit: 4,375,315 RAC: 0 |
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 *** |
Paul D. Buck Send message Joined: 19 Jul 00 Posts: 3898 Credit: 1,158,042 RAC: 0 |
> 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? |
Ned Slider Send message Joined: 12 Oct 01 Posts: 668 Credit: 4,375,315 RAC: 0 |
> > 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 *** |
Ned Slider Send message Joined: 12 Oct 01 Posts: 668 Credit: 4,375,315 RAC: 0 |
> > 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 *** |
ML1 Send message Joined: 25 Nov 01 Posts: 20518 Credit: 7,508,002 RAC: 20 |
> > 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) |
Ned Slider Send message Joined: 12 Oct 01 Posts: 668 Credit: 4,375,315 RAC: 0 |
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 *** |
ML1 Send message Joined: 25 Nov 01 Posts: 20518 Credit: 7,508,002 RAC: 20 |
> 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) |
©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.