More Compiler options

Message boards : Number crunching : More Compiler options
Message board moderation

To post messages, you must log in.

AuthorMessage
railfan

Send message
Joined: 15 Dec 00
Posts: 4
Credit: 396,198
RAC: 0
United States
Message 24219 - Posted: 9 Sep 2004, 21:27:23 UTC

Ever since a thread was posted a while back I have been maintaining my own "How to Compile" document. I am looking for more compiler options for my particular configurations. The compiler is GCC 3.3.x Here is what I have:

Athlon Linux ( originally posted in a previous thread)
CPPFLAGS = -mcpu=athlon-xp -march=athlon-xp -O3 -pipe -mfpmath=sse -m3dnow -msse -mmmx -funroll-loops -fomit-frame-pointer -s -static

Intel Xeon RHEL v3.0
CPPFLAGS = -O3 -pipe -mfpmath=sse -m3dnow -msse -mmmx -funroll-loops
-fomit-frame-pointer -s -static

Ultra Sparc (II-IV) Solaris (5.8,5.9)
CPPFLAGS = -O3 -pipe -funroll-loops -fomit-frame-pointer -s -static

Does anyone with more compiling experience have any suggestions. I am trying to squeeze out as much performance as I can.

Also is there anyway to compile in the libstdc++.so.5 library so that I do not have to set my LD_LIBRARY_PATH?

Thanks,
Brian
ID: 24219 · Report as offensive
Profile Crunch3r
Volunteer tester
Avatar

Send message
Joined: 15 Apr 99
Posts: 1546
Credit: 3,438,823
RAC: 0
Germany
Message 24242 - Posted: 9 Sep 2004, 22:33:04 UTC
Last modified: 9 Sep 2004, 22:36:52 UTC

Somehow you´re missunderstanding the gcc compiler flags.
1. mcpu=athlon-xp is used for optimizing towards an athlon-xp while keeping backward comatibility it´s overwritten by -march=athlon-xp wich optimises code only working on athlon-xp´s.

2. -O3 includes -expensive-optimisations that means to gcc to include flags like -m3dnow - msse -mmmx

3. you should´nt use -funroll-loops (slows the client a bit down) and -static (only use the flag if you crosscompiling to make code executable on athlon,athon-tbird,athlon-mp and athlon-4 on different linux distributions (somehow like SETI does NO optimization and compatible to i386 so every "idiot" can run it on linux)

Take alook here http://www.freehackers.org/gentoo/gccflags/flag_gcc3opt.html

ID: 24242 · Report as offensive

Message boards : Number crunching : More Compiler options


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