Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
CFLAGS Celeron
View unanswered posts
View posts from last 24 hours
View posts from last 7 days

 
Reply to topic    Gentoo Forums Forum Index Deutsches Forum (German)
View previous topic :: View next topic  
Author Message
Hollowman
Guru
Guru


Joined: 19 Apr 2007
Posts: 584

PostPosted: Mon Mar 29, 2010 12:40 pm    Post subject: CFLAGS Celeron Reply with quote

Hi

Ich hab da die Tage nen kleines Problem gehabt.

Ich hab hier nen Laptop, da muss gentoo drauf.

Jetzt hat mir das Teil bei compilieren dauernd Speicherzugriffsfehler um die Ohren gehauen. Gelöst hab ich das ganze dann mit -march=native in der make.conf. Vorher hatte ich da -march=pentium4. Ich muss dazu sagen das ich die eingebaute CPU nicht hier http://en.gentoo-wiki.com/wiki/Safe_Cflags/Intel gefunden hab.

Das ist der Hobel:

CPU Family 15
Model 2
medel Name Intel(R) Celeron(R) CPU 2.60GHz
Stepping 9
cache size 128K

Da passt nix wirklich. pentium4 hab ich dann genommen weil Model und Family gepasst haben. Das war aber nix.

Was hab ich da für eine komische Kiste? Gibts noch irgendwelche anderen Listen mit CFLAGS?

Sebastian
Back to top
View user's profile Send private message
Josef.95
Advocate
Advocate


Joined: 03 Sep 2007
Posts: 3626
Location: Germany

PostPosted: Mon Mar 29, 2010 4:07 pm    Post subject: Reply with quote

Uff..., bei diese vielen Celeron Modellen durchzusehen ist wahrlich nicht einfach...
Aber warum magst du nicht bei march=-native bleiben?
Quote:
native
This selects the CPU to tune for at compilation time by determining the processor type of the compiling machine. Using -mtune=native will produce code optimized for the local machine under the constraints of the selected instruction set. Using -march=native will enable all instruction subsets supported by the local machine (hence the result might not run on different machines).
Sofern man nicht distcc oder ähnliches nutzen möchte ist es doch idR eine gute Wahl..

Evtl. noch hilfreich (sofern man die CPU denn genau kennt ;-)
http://gcc.gnu.org/onlinedocs/gcc/i386-and-x86_002d64-Options.html#i386-and-x86_002d64-Options
Back to top
View user's profile Send private message
Klaus Meier
Advocate
Advocate


Joined: 18 Apr 2005
Posts: 2903
Location: Bozen

PostPosted: Mon Mar 29, 2010 4:41 pm    Post subject: Reply with quote

Es gibt nichts Besseres als march=native. Weil der gcc dann selbst herausfindet, was deine CPU unterstützt. Also auch manuell kannst da nicht mehr rausquetschen. Und mit Celeron kannst du gar nichts anfangen, dass ist die Bezeichnung für etwas von Intel, was Zwangskastriert ist. Ein Hinweis darauf, was Intel da gerade kastriert hat, ist das nicht.

Ansonsten zeigt dir cat /proc/cpuinfo an, was dein Prozi so unterstützt, aber daraus auf einen bestimmten Typ zu schließen ist dann nicht so einfach. Aber wozu der Stress? march=native erledigt das doch vollständig von alleine.

Und wieso komische Kiste? Musst doch wissen, wie du an das Teil geraten bist. Es gibt halt viele Unterschiede bei den CPUs. Und die Namen sind eigentlich nur dazu da, den Aldi und Saturn Kunden zu verarschen. Der i7 war mal der Hammer. Ok, ist er immer noch, aber inzwischen gibt es auch Teile, die i7 heißen, aber zur i5 Familie gehören. Genauso wie der Core2 eine CPU mit einem Kern ist und so weiter und so weiter. Und bei den Core2 Duo ist die Zahl 4 Stellen lang und jede hat eine Bedeutung. Kennst du sie?
Back to top
View user's profile Send private message
Christian99
Veteran
Veteran


Joined: 28 May 2009
Posts: 1176

PostPosted: Mon Mar 29, 2010 5:20 pm    Post subject: Reply with quote

hi, ich hab einen core2, und bei dem verwendet march=native dieselben flags wie march=core2. du kannst mal mit
Code:
g++ -v -Q -march=native -O2 test.cpp -o test
sehen welche flags verwendet werden (ziemlich weit oben im output) mal mit denen von march=pentium4 vergleichen.
dein prozessor ist wohl dieser hier:
http://de.wikipedia.org/wiki/Intel_Celeron_%28NetBurst%29]

und ich hätte für ihn eigentlich auch march=pentium4 verwendet. aber da celerons ja auf den "normalen" (hier p4) cpus basieren und abgespeckte funktionen haben, kann es sein, dass irgendeine funktion, die bei deinen prozessor deaktiviert sind, von gcc verwendet wird. ich an deiner stelle würde bei native bleiben.

@klaus: das "2" bei "core2" steht ja auch nicht für die kernanzahl, sondern dafür, dass es der nachfolger von "core" ist. ein nachfolgendes "solo" "duo" oder "quad" gibt die kernanzahl an, wobei es meines wissen nach beim core2 gar kein solo gibt.
Back to top
View user's profile Send private message
Josef.95
Advocate
Advocate


Joined: 03 Sep 2007
Posts: 3626
Location: Germany

PostPosted: Mon Mar 29, 2010 5:50 pm    Post subject: Reply with quote

Christian99 wrote:
[...]du kannst mal mit
Code:
g++ -v -Q -march=native -O2 test.cpp -o test
sehen welche flags verwendet werden [...]
Hehe, der Tipp ist gut!
Anfangs wurde jedoch die fehlende test.cpp Datei bemängelt,
ein
Code:
$ touch test.cpp
schaffte Abhilfe.

Den werde ich mir merken.. (kommt nun in meine Schatzkammer! ..;-)
Besten Dank!
Back to top
View user's profile Send private message
Christian99
Veteran
Veteran


Joined: 28 May 2009
Posts: 1176

PostPosted: Mon Mar 29, 2010 6:38 pm    Post subject: Reply with quote

Josef.95 wrote:
Hehe, der Tipp ist gut!


leider nicht von mir. weiß auch grad nicht woher ich den hab. hoffe er fällt unter kein copyright :)
nur mal interessehalber: was sind denn die unterschiede zwischen native und p4?
Back to top
View user's profile Send private message
Max Steel
Advocate
Advocate


Joined: 12 Feb 2007
Posts: 2041
Location: My own world! I and Gentoo!

PostPosted: Mon Mar 29, 2010 8:43 pm    Post subject: Reply with quote

Mit p4 (pentium4) nutzt gcc ein komplett vordefiniertes fixes Set an Flags.
mit native sucht sich der gcc die maximal möglichen (beschleunigenden?) stabilen Flags selbst aus (vornehmlich die richtige -march= Variante, und evtl die -m? Flags)
jeweils zusätzlich zu den restlichen Flags von dir.
Zumindest lese ich das hier im Thread ;)
_________________
mfg
Steel
___________________
Sorry for my bad English.

Heim-PC: Intel i7-5820K, 32GB RAM, GTX 1080
Laptop: Intel Core i5-4300U, 16GB RAM, Intel Graphic
Arbeit-PC: Intel i5-3470S, 16GB RAM, Intel Graphic
Back to top
View user's profile Send private message
Christian99
Veteran
Veteran


Joined: 28 May 2009
Posts: 1176

PostPosted: Mon Mar 29, 2010 8:45 pm    Post subject: Reply with quote

das weiß ich, ich wollte halt mal wissen was das konkret ist, also die einzelnen flags die aktiviert werden oder nicht, da es ja mit march=pentium4 probleme gab hats mich halt interessiert was der pentium4 kann, was der celeron nicht kann.
Back to top
View user's profile Send private message
Max Steel
Advocate
Advocate


Joined: 12 Feb 2007
Posts: 2041
Location: My own world! I and Gentoo!

PostPosted: Mon Mar 29, 2010 8:51 pm    Post subject: Reply with quote

Gugg mal hier:
http://gcc.gnu.org/onlinedocs/gcc-4.4.3/gcc/i386-and-x86_002d64-Options.html#i386-and-x86_002d64-Options

Was dein Prozzi kann steht auf cat /proc/cpuinfo in der/den Zeile/n "flags"
_________________
mfg
Steel
___________________
Sorry for my bad English.

Heim-PC: Intel i7-5820K, 32GB RAM, GTX 1080
Laptop: Intel Core i5-4300U, 16GB RAM, Intel Graphic
Arbeit-PC: Intel i5-3470S, 16GB RAM, Intel Graphic
Back to top
View user's profile Send private message
Christian99
Veteran
Veteran


Joined: 28 May 2009
Posts: 1176

PostPosted: Mon Mar 29, 2010 8:54 pm    Post subject: Reply with quote

es ist ja nicht mein prozessor, sonst würd ich nicht fragen :)
Back to top
View user's profile Send private message
Klaus Meier
Advocate
Advocate


Joined: 18 Apr 2005
Posts: 2903
Location: Bozen

PostPosted: Mon Mar 29, 2010 8:55 pm    Post subject: Reply with quote

Christian99 wrote:
das weiß ich, ich wollte halt mal wissen was das konkret ist, also die einzelnen flags die aktiviert werden oder nicht, da es ja mit march=pentium4 probleme gab hats mich halt interessiert was der pentium4 kann, was der celeron nicht kann.
Es gibt keinen Celeron. Selbst vom P4 gab es verschiedene Varianten. Celeron ist die Bezeichnung für irgendwelche CPUs, bei denen irgend etwas stillgelegt ist, was auf dem Chip drauf ist.

Die Tatsache, dass es vom P4 einen Celeron genannten Ablegen gab, bedeutet nicht, dass jeder Celeron P4 basierend ist.
Back to top
View user's profile Send private message
Max Steel
Advocate
Advocate


Joined: 12 Feb 2007
Posts: 2041
Location: My own world! I and Gentoo!

PostPosted: Mon Mar 29, 2010 8:56 pm    Post subject: Reply with quote

Ich würde denken das der sse2 Befehlssatz stillgelegt ist, oder garnicht vorhanden.
_________________
mfg
Steel
___________________
Sorry for my bad English.

Heim-PC: Intel i7-5820K, 32GB RAM, GTX 1080
Laptop: Intel Core i5-4300U, 16GB RAM, Intel Graphic
Arbeit-PC: Intel i5-3470S, 16GB RAM, Intel Graphic
Back to top
View user's profile Send private message
Klaus Meier
Advocate
Advocate


Joined: 18 Apr 2005
Posts: 2903
Location: Bozen

PostPosted: Mon Mar 29, 2010 9:08 pm    Post subject: Reply with quote

Max Steel wrote:
Ich würde denken das der sse2 Befehlssatz stillgelegt ist, oder garnicht vorhanden.
Keine Ahnung, wie man das hin bekommt, eher Ausschussverwertung. So wie bei AMD, wo es die 3 Kern CPUs ja auch nur deshalb gibt, weil es bei der Produktion Ausschuss gibt.

Es gab im Laptop Bereich viele Prozzies, Pentium M (aus dem ja der Core2 hervorgegangen ist), dann den Core ohne 2, dann den Core2 ohne und mit Duo usw. Und von allem diesem Kram gab es irgendwelche Celerons. Kann schon sein, dass da mal so ne Charge Ausschuss an irgendwelche OEMs verhökert wurde. Bei Alldi gibt es ja auch Computer mit Grafikkarten von Nvidia, deren Beizeichnung sonst nirgendwo zu finden ist oder Monitore eines Markenherstellers, wo sich dann herausstellt, dass viele einen gelben Fleck an der gleichen Stelle haben.
Back to top
View user's profile Send private message
Hollowman
Guru
Guru


Joined: 19 Apr 2007
Posts: 584

PostPosted: Tue Mar 30, 2010 8:45 am    Post subject: Reply with quote

Hi

Das ist nicht mein Laptop. Ich hab den nur zum installieren bekommen. Ich hätte für das Teil nie nen Pfennig Geld ausgegeben.

Ich lass ihn jetzt logischerweise bei native. Ich wusste bis da hin aber noch nicht das es native gibt.

Ich wollte einfach nur mal wissen wieso das so schief gelaufen ist. Das muss nen kastrierter P4 sein. Zumindest nach der familie und dem Model. Wenn ich das Teil nochmal in die Finger bekomme poste ich mal den /proc/cpuinfo output.

Sebastian
Back to top
View user's profile Send private message
Josef.95
Advocate
Advocate


Joined: 03 Sep 2007
Posts: 3626
Location: Germany

PostPosted: Tue Mar 30, 2010 2:36 pm    Post subject: Reply with quote

Hollowman wrote:
Hi
[...] Ich lass ihn jetzt logischerweise bei native. Ich wusste bis da hin aber noch nicht das es native gibt.
[...]
Sebastian
Prima.., ich denke das ist ne gute Entscheidung, ist idR auch das Empfohlene...

http://en.gentoo-wiki.com/wiki/Safe_Cflags wrote:
-march=native
GCC 4.2 introduces a new -march option, -march=native, which automatically detects the features your CPU supports and sets the options appropriately. If you have an Intel or AMD CPU and are using >=sys-devel/gcc-4.2.3, using -march=native is recommended. Do not use -march=native if you use distcc on nodes with different architectures as this may produce unusable code.
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Deutsches Forum (German) All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum