View previous topic :: View next topic |
Author |
Message |
Bloke2k Tux's lil' helper
Joined: 19 Dec 2002 Posts: 84
|
Posted: Sun Jan 26, 2003 11:55 pm Post subject: ???? -mcpu=duron does not like it |
|
|
hi all
looking in the make.conf file, I set the -mcpu= to -mcpu=duron, but it dont like that, even though the coments in the make file explicitly state athlon. duron, athlon-tbird etc
apart from i686, what other flag can I use for the duron
BTW it is 1.4_rc2 stage 1
trying to run scripts process
Error is bad value (duron0 for -mcpu switch
wil just athlon suffice, is there anything else I could add to optimize ?
TIA |
|
Back to top |
|
|
Arthur Vandelay n00b
Joined: 09 Jan 2003 Posts: 55
|
Posted: Mon Jan 27, 2003 12:27 am Post subject: |
|
|
Use athlon instead of duron, the duron is a crippled athlon.
I have found these settings to be safe:
-march=athlon -O2 -pipe -fomit-frame-pointer
dont use -O3 with a duron, I had a bunch of gcc problems. |
|
Back to top |
|
|
Tom Brown n00b
Joined: 24 Aug 2002 Posts: 36 Location: Saskatchewan, Canada
|
Posted: Mon Jan 27, 2003 7:06 am Post subject: |
|
|
If your Duron is 1000 MHz or more, you can use -march=athlon-xp. That's what I used on my 1000 Duron and it seems to work fine.
Interesting comment on the -O3. What speed level is your Duron?
Here's my /proc/cpuinfo
processor : 0
vendor_id : AuthenticAMD
cpu family : 6
model : 7
model name : AMD Duron(tm) Processor
stepping : 0
cpu MHz : 995.719
cache size : 64 KB
fdiv_bug : no
hlt_bug : no
f00f_bug : no
coma_bug : no
fpu : yes
fpu_exception : yes
cpuid level : 1
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 sep mtrr pge mca cmov pat pse36 mmx fxsr sse syscall mmxext 3dnowext 3dnow
bogomips : 1980.12 |
|
Back to top |
|
|
Tom Brown n00b
Joined: 24 Aug 2002 Posts: 36 Location: Saskatchewan, Canada
|
Posted: Mon Jan 27, 2003 7:09 am Post subject: |
|
|
Just for comparison, here's the /proc/cpuinfo from my Athlon XP 1800+
processor : 0
vendor_id : AuthenticAMD
cpu family : 6
model : 6
model name : AMD Athlon(tm) XP 1800+
stepping : 2
cpu MHz : 1526.870
cache size : 256 KB
fdiv_bug : no
hlt_bug : no
f00f_bug : no
coma_bug : no
fpu : yes
fpu_exception : yes
cpuid level : 1
wp : yes
flags : fpu vme de tsc msr pae mce cx8 sep mtrr pge mca cmov pat pse36 mmx fxsr sse syscall mmxext 3dnowext 3dnow
bogomips : 3047.42 |
|
Back to top |
|
|
Bloke2k Tux's lil' helper
Joined: 19 Dec 2002 Posts: 84
|
Posted: Mon Jan 27, 2003 6:05 pm Post subject: |
|
|
what is the difference between march and mcpu ?
in the make fileit says something about breaking compatibility for other cpu's?
I will only be running and compiling programs for this machine from this machine
cheers |
|
Back to top |
|
|
Arthur Vandelay n00b
Joined: 09 Jan 2003 Posts: 55
|
Posted: Mon Jan 27, 2003 6:52 pm Post subject: |
|
|
From what I understand,
The -mcpu flag keeps compatibility within a family of cpus. ie -mcpu=athlon will run on any athlon generation cpu.
The -march flag says only this specific type will run the code. ie -march=athlon-xp wont execute on a duron cpu
Tom, I have a duron 700. I had random segfaults with -O3 flags only with g++ apps. Sometimes g++ itself would segfault, sometimes the app would segfault etc. At first I suspected ram error, so switched out ram and ran several diagnostics, but found no problems with ram. After playing around with flags, going with -O2 solved the segfaults.
Some apps specifically override any flags greater than -O2, so -O3 isn't safe for everything. IMOO -O3 isn't worth the hassle for the tiny performance gain. |
|
Back to top |
|
|
Tom Brown n00b
Joined: 24 Aug 2002 Posts: 36 Location: Saskatchewan, Canada
|
Posted: Mon Jan 27, 2003 7:20 pm Post subject: |
|
|
Interesting.
I'm happy with my install on the whole but KMail seg faults when I close the filter editor. I'll crank back the optimization level to 2 and recompile. Thanks for the tip.
The -march=athlon-xp works fine on my Duron 1000. Of course, it was at the 1 GHz mark that they switched to a Palimino based core (same as the first XP). That's why my CPU has the SSE extensions and such. Apparently, the 1+ GHz Durons are at least as fast as the Athlons at the same speed, despite their smaller L2 cache size, because of the improvements in the look ahead buffering and other optimizations. I know I'm pleased with my Duron 1000. At at about $45 CDN, they're a fantastic value.
By the way Art, I take it you work for Vandelay Industries?
-- Tom |
|
Back to top |
|
|
Malakin Veteran
Joined: 14 Apr 2002 Posts: 1692 Location: Victoria BC Canada
|
Posted: Mon Jan 27, 2003 8:52 pm Post subject: |
|
|
-mcpu (used without -march) means to optimize for this cpu but keep backwards compatability all the way back to a i386.
-march means to not keep backwards compatability. If you use march=pentium2 for example it will still run on anything from a P2+ including Athlons/durons since a P2 doesn't do anything those other cpu's do. If you use march=pentium4 then it may not run on anything else since only the pentium 4 supports sse2. march=pentium3 should still run on Athlon-xp's and Duron 1000+ since they have all the same features, but march=athlon won't necessarily work on any Intel chips since they don't have 3dnow support.
-march also implies -mcpu. so if you use -march=i686 you automatically get -mcpu=i686, although you can add -mcpu=athlon-xp to override it and optimize for an athlon-xp but keep backwards compatability back to an i686.
Hope this all makes sense ;)
Here's the gcc manual entry if you'd like to read that also:
http://gcc.gnu.org/onlinedocs/gcc-3.2.1/gcc/i386-and-x86-64-Options.html#i386%20and%20x86-64%20Options |
|
Back to top |
|
|
|