Compiling SETI 4.13 For a T-Bird on Linux

Questions and Answers : Unix/Linux : Compiling SETI 4.13 For a T-Bird on Linux
Message board moderation

To post messages, you must log in.

AuthorMessage
Profile SimGuy
Avatar

Send message
Joined: 26 Mar 04
Posts: 7
Credit: 257,320
RAC: 0
Canada
Message 44616 - Posted: 9 Nov 2004, 4:48:04 UTC
Last modified: 9 Nov 2004, 5:00:44 UTC

First off, I'm not that great with Linux. I can install the OS, tinker with it, configure scripts, install programs and screw around with loading/unloading services. However, one thing I've never done is utilize GCC on the Linux platform to compile my own applications.

After reading that the Linux BOINC client isn't optimized for a specific platform, I endeavoured to speed things up on a spare SETI@Boinc cruncher I've got:

AMD Athlon 1000 T-Bird Slot A
EPoX 7KXA+ KX133
256 MB PC133 SDRAM
100 GB WD Caviar
NVidia GeForce 2 GTS

Now, I've installed Red Hat Linux 9.0 on this system (Fedora Core 1 won't install correctly on this system... maybe bad disks... and Fedora Core 2 can't boot from floppy as the kernel is too large and this system can't boot from a CD-ROM). The OS is installed with NVidia's accelerated drivers and ready to accept BOINC.

Now, I've used a guide to compile the BOINC client with the most appropriate flags that I could find.

http://www.pperry.f2s.com/boinc/boinc-compile.html - Thanks Ned!

<B>Flags:</B>
CFLAGS="-march=athlon-tbird -O3 -pipe -fforce-addr -fomit-frame-pointer -funroll-loops -falign-functions=4 -maccumulate-outgoing-args"
CXXFLAGS="${CFLAGS}"

I'm just wondering... are these the most efficient flags to utilize on a T-Bird based system? Is there anything else I can add in there to make the Linux client crunch faster?

So far my BOINC bench scores (with my compiled 4.13 CVS client) on this system are:

FP Speed (Whetstone): 744.42 MIPS
Integer Speed (Dhrystone): 2095.57 MIPS
<BR><B>SimGuy - #23 on Overclockers.com SETI@Home BOINC Team</B>
Active Crunchers: Athlon 64 FX-55, P4 3400E @ 3600, P4 3200E @ 3600, AXP 2500+ @ 3200+<BR><BR><IMG SRC="http://sigs.axpr.net/?sah=192461">
ID: 44616 · Report as offensive
Ned Slider

Send message
Joined: 12 Oct 01
Posts: 668
Credit: 4,375,315
RAC: 0
United Kingdom
Message 44648 - Posted: 9 Nov 2004, 7:28:34 UTC
Last modified: 9 Nov 2004, 7:30:11 UTC

Hi SimGuy,

There is a discussion thread on optimisation I used here:

http://forums.pcper.com/showthread.php?t=354308

I tried about 20 different combinations of compiler optimisations and the ones in my guide were the best for my hardware. Your milage may vary so feel free to try them for yourself.

The flags I used were:

export CFLAGS="-march=athlon-xp -O3 -fomit-frame-pointer -funroll-loops -fforce-addr -ffast-math -ftracer"

It's definately worth adding -ffast-math as this gives a good increase for the Whetstone score. Also, -ftracer helps speed up other optimisations giving a small increase in Dhrystone score (if it's available on your version of gcc). But you really do need to test each and every flag as some also make it slower. For me, -falign-functions=4 actually caused a decrease in the Dhrystone score.

Also, I found strange results for the -march flag. Using the obvious choice for your processor doesn't always produce the best results. Just out of interest, you should also try -march=i686 and -march=athlon just to see what you get! Also, presumably -march=athlon-xp won't run on your thunderbird chip (Seg Fault??)

I never tested -maccumulate-outgoing-args. Did it make much of a difference for you (or didn't you test individual flags?)

Please come visit and post your findings for any additional flags in the discussion thread above :)

Good luck,

Ned

*** My Guide to Compiling Optimised BOINC and SETI Clients ***
*** Download Optimised BOINC and SETI Clients for Linux Here ***
ID: 44648 · Report as offensive
Profile Squinky

Send message
Joined: 14 Jan 04
Posts: 1
Credit: 32,733
RAC: 0
United States
Message 178315 - Posted: 14 Oct 2005, 21:00:43 UTC - in response to Message 44648.  


export CFLAGS="-march=athlon-xp -O3 -fomit-frame-pointer -funroll-loops -fforce-addr -ffast-math -ftracer"

-ffast-math returns workunit results that are unusable. While it speeds you up, it makes the number crunching unreliable and gives garbage results every time I have used it.
ID: 178315 · Report as offensive

Questions and Answers : Unix/Linux : Compiling SETI 4.13 For a T-Bird on Linux


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