Optimising SPARC64 Linux Build suggestions?

Message boards : Number crunching : Optimising SPARC64 Linux Build suggestions?
Message board moderation

To post messages, you must log in.

AuthorMessage
Raithmir
Volunteer tester

Send message
Joined: 3 Apr 99
Posts: 89
Credit: 385,065
RAC: 0
United Kingdom
Message 52293 - Posted: 9 Dec 2004, 0:35:07 UTC

Hi,

Firstly thanks to Ned Slider for his tutorial on optimising BOINC builds (http://www.pperry.f2s.com/). I've been trying to put this into practice to produce an optimised build for an old Sun Ultra5 box I have but obviously there are a few differences to x86 based processors.

I used the latest CVS tarballs for both BOINC and Setiathome (08/12/04). For BOINC I used the following...

export CFLAGS="-O3 -fomit-frame-pointer -funroll-loops -fforce-addr -ffast-math"
export CXXFLAGS=$CFLAGS
./configure --disable-server
make clean
make


And for the seti client I used...

export MYSQL_CONFIG=true
export CFLAGS="-O3 -fomit-frame-pointer -funroll-loops -fforce-addr"
export CXXFLAGS=$CFLAGS
cd boinc
./configure
make -k

cd ..
cd seti_boinc
./configure
make -k


Running the BOINC benchmarks seems to have yielded ~15% increase. Not bad for a first attempt, but does anyone have any further suggestions?

I can provide the binaries for download if people wish.

Raithmir's SPARC64/UltraSPARC Linux Builds
http://www.kulthea.net/boinc/
ID: 52293 · Report as offensive
wrzwaldo
Avatar

Send message
Joined: 16 Jul 00
Posts: 113
Credit: 1,073,284
RAC: 0
United States
Message 52321 - Posted: 9 Dec 2004, 2:17:24 UTC

I would be interested in the binaries!



<img src="http://boinc.mundayweb.com/seti2/stats.php?userID=2259&amp;team=off">
ID: 52321 · 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 52375 - Posted: 9 Dec 2004, 4:35:46 UTC

Rathmir,

Maybe you could get Ned to post them to his site.

ID: 52375 · Report as offensive
Raithmir
Volunteer tester

Send message
Joined: 3 Apr 99
Posts: 89
Credit: 385,065
RAC: 0
United Kingdom
Message 52394 - Posted: 9 Dec 2004, 8:59:33 UTC

Ok I've posted the binaries (and the app_info.xml file to save typing) here http://www.kulthea.net/boinc/ Let me know if they work ok for people or you have any other suggestions.

I'll create a simple webpage with some instructions later.
Raithmir's SPARC64/UltraSPARC Linux Builds
http://www.kulthea.net/boinc/
ID: 52394 · Report as offensive
wrzwaldo
Avatar

Send message
Joined: 16 Jul 00
Posts: 113
Credit: 1,073,284
RAC: 0
United States
Message 52426 - Posted: 9 Dec 2004, 14:16:36 UTC

I'll play with it when I get home from work this evening. Thanks!



<img src="http://boinc.mundayweb.com/seti2/stats.php?userID=2259&amp;team=off">
ID: 52426 · Report as offensive
Ned Slider

Send message
Joined: 12 Oct 01
Posts: 668
Credit: 4,375,315
RAC: 0
United Kingdom
Message 52491 - Posted: 9 Dec 2004, 22:28:23 UTC - in response to Message 52375.  

> Rathmir,
>
> Maybe you could get Ned to post them to his site.
>
>
>

Rathmir,

Congrats on getting them compiled!

If you like, I'd be happy to host them on my site for you. Of course, if you want to host them yourself, that's fine. Maybe I could add a link to my downloads section for the SPARC64 clients linking to your site.

Let me know which you prefer and I'll make it so :)

Good job :)

Ned


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

Send message
Joined: 3 Apr 99
Posts: 89
Credit: 385,065
RAC: 0
United Kingdom
Message 52506 - Posted: 9 Dec 2004, 23:27:15 UTC - in response to Message 52491.  
Last modified: 9 Dec 2004, 23:27:45 UTC

> Rathmir,
>
> Congrats on getting them compiled!
>
> If you like, I'd be happy to host them on my site for you. Of course, if you
> want to host them yourself, that's fine. Maybe I could add a link to my
> downloads section for the SPARC64 clients linking to your site.
>
> Let me know which you prefer and I'll make it so :)
>
> Good job :)
>
> Ned
>

Thanks. :) I'll host them myself I think (but feel free to link to it), I will create a project page for them when I get chance (=when I can be bothered! lol). When I get sorted I'm planning on scripting the SPARC box to download, build, and upload the nightlies to my web site. Feel free to offer any further tips ;)

I should add that this is still only built with GCC 2.96 as I can't figure out why apt-get won't download 3.4! (first time using debian too!)
Raithmir's SPARC64/UltraSPARC Linux Builds
http://www.kulthea.net/boinc/
ID: 52506 · Report as offensive
Hans Dorn
Volunteer developer
Volunteer tester
Avatar

Send message
Joined: 3 Apr 99
Posts: 2262
Credit: 26,448,570
RAC: 0
Germany
Message 52512 - Posted: 10 Dec 2004, 0:12:56 UTC - in response to Message 52506.  

> I should add that this is still only built with GCC 2.96 as I can't figure out
> why apt-get won't download 3.4! (first time using debian too!)
>

Hi Raithmir,

gcc-3.4 is located in the "unstable" sparc distribution.

You could add this distribution via "apt-setup" and try to download gcc-3.4
and the related packages manually with "aptitude".

If you don't want to switch to "unstable" completely, I guess it's better to
remove it from your apt sources afterwards.

I'm running the i386 "unstable" without big problems here.

Regards Hans

ID: 52512 · Report as offensive
Raithmir
Volunteer tester

Send message
Joined: 3 Apr 99
Posts: 89
Credit: 385,065
RAC: 0
United Kingdom
Message 52515 - Posted: 10 Dec 2004, 0:58:35 UTC - in response to Message 52512.  

> Hi Raithmir,
>
> gcc-3.4 is located in the "unstable" sparc distribution.
>
> You could add this distribution via "apt-setup" and try to download gcc-3.4
> and the related packages manually with "aptitude".
>
> If you don't want to switch to "unstable" completely, I guess it's better to
> remove it from your apt sources afterwards.
>
> I'm running the i386 "unstable" without big problems here.
>
> Regards Hans
>

Thanks for the reply Hans. I was actually getting an error which after a bit of googling turned up this rather useful page http://jaqque.sbih.org/kplug/apt-pinning.html and I increased the Cache-Limit and have just managed to install GCC-3.4.2 from the "testing" distribution (I figured I'd use testing as I read that still gets security updates unlike "unstable").

I'll have a play around with it over the weekend and see if I can improve things further :)
Raithmir's SPARC64/UltraSPARC Linux Builds
http://www.kulthea.net/boinc/
ID: 52515 · Report as offensive
Ned Slider

Send message
Joined: 12 Oct 01
Posts: 668
Credit: 4,375,315
RAC: 0
United Kingdom
Message 52524 - Posted: 10 Dec 2004, 1:49:57 UTC

I got good improvements going from GCC-3.3.x to 3.4.x. I never tried compiling on GCC-2.9.x so I don't know what sort of improvements you'd get from upgrading, but I bet it wil be well worth it. Perhaps you could let me know when your page is up and I'll link to it :)

Good luck,

Ned


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

Send message
Joined: 3 Apr 99
Posts: 89
Credit: 385,065
RAC: 0
United Kingdom
Message 53153 - Posted: 12 Dec 2004, 15:47:05 UTC
Last modified: 12 Dec 2004, 15:49:46 UTC

Well due to some issues with GCC-3.4 at present on my box I've had to use 3.3 (and still had a few build problems with that initially!), but I've managed to get some significant improvements all the same. I've played around with a few settings and will document it when I finally get around to designing a project page for it.

The standard BOINC build gave the following benchmarks...

Dhrystone - 111
Whetstone - 334 (approximately, I didn't actually make a note of it and can't be bothered rebuilding it to check now lol)

My original optimised build using GCC-2.95 improved this to...

Dhrystone - 125
Whetstone - 384

The current build using GCC-3.3 has jumped to...

Dhrystone - 220
Whetstone - 436

Pretty good improvement I think! I'll sort out the remaining problems with GCC-3.4 and try again with that sometime next week. Now I know this build works for me, but I'd still appreciate it if someone else could confirm if it works ok for them? wrzwaldo?

Raithmir's SPARC64/UltraSPARC Linux Builds
http://www.kulthea.net/boinc/
ID: 53153 · 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 53407 - Posted: 13 Dec 2004, 5:57:50 UTC
Last modified: 13 Dec 2004, 5:58:20 UTC

Raithmir,

Are you compiling the seti client also or just BOINC?

If seti, do you have before/after WU completion times?

I recall Ned having some info on his page about how to use the "sample WU" included with seti source. Make a baseline test "result" file with unmodified code, and compare it to the one produced by your optimized seti worker code (if you did do that).

Or you could copy the baseline result file from Intel Baseline Result.sah. Mostly make sure the sections inside the file match, for example 3 pulse blocks, 2 gaussians, 4 spikes, 1 tripplet, and so on. They should be same type and in same order. Numbers inside will be a little different afer a few decimal points.


ID: 53407 · Report as offensive
Raithmir
Volunteer tester

Send message
Joined: 3 Apr 99
Posts: 89
Credit: 385,065
RAC: 0
United Kingdom
Message 53568 - Posted: 13 Dec 2004, 18:01:41 UTC - in response to Message 53407.  

I've just followed the same instructions on Ned's page for compiling the SETI client, there's not much that can be done to optimise that. I haven't yet compared WU completion times, with it only being a 333 Ultra5 (anyone want to donate me any faster SPARC hardware for the cause? ;)) it's not exactly going to break any speed records and I simply haven't had time yet. Plus with all my messing about with GCC-3.4 I've managed to screw the box up completely now and I'm in the process of doing a clean installation of Debian "Sarge".
Raithmir's SPARC64/UltraSPARC Linux Builds
http://www.kulthea.net/boinc/
ID: 53568 · Report as offensive
Ned Slider

Send message
Joined: 12 Oct 01
Posts: 668
Credit: 4,375,315
RAC: 0
United Kingdom
Message 53615 - Posted: 13 Dec 2004, 20:04:23 UTC

Yes, all the info for testing your seti client is on my page together with the reference test work unit. If there's anything else you need to know, just give me a shout :)

My experience compiling the seti client with gcc-3.4.2 showed no improvement over gcc-3.3.3, it was only the boinc benchmarks that significantly benefitted.

Regards,

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

Send message
Joined: 3 Apr 99
Posts: 89
Credit: 385,065
RAC: 0
United Kingdom
Message 54322 - Posted: 15 Dec 2004, 23:51:53 UTC

Well I've knocked together a *very* basic project page for this at http://www.kulthea.net/boinc/

I'll work on it at a later date but thats all I can be bothered with now!
Raithmir's SPARC64/UltraSPARC Linux Builds
http://www.kulthea.net/boinc/
ID: 54322 · Report as offensive

Message boards : Number crunching : Optimising SPARC64 Linux Build suggestions?


 
©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.