View previous topic :: View next topic |
Author |
Message |
gutter Bodhisattva
Joined: 13 Mar 2004 Posts: 7162 Location: Aarau, Aargau, Switzerland
|
Posted: Thu Dec 09, 2004 11:54 am Post subject: CFLAGS per Pentium M |
|
|
Apro un nuovo post (sotto consiglio di fedeliallalinea) per fare maggiore chiarezza riguardo le cflags da usare nel caso di portatili con processori Pentium M (che spesso fanno parte dell'architettura centrino).
Come sappiamo esistono due release del core:
- banias (1 MB L2 cache)
- dothan (2 MB L2 cache)
Per quanto riguarda il primo di questi core (banias) ho trovato un post interessante cioè:
https://forums.gentoo.org/viewtopic.php?t=78780&highlight=acer+centrino
dove vengono specificate le CFLAGS sia nel caso in cui si usi GCC 3.3 che 3.4. In tal caso il parametro usato per march è:
Code: |
-march=pentium3 (GCC 3.3)
-march=pentium-m (GCC 3.4) |
Il mio dubbio sorge nel caso di Pentium M con core dothan. Per quanto riguarda le CFLAGS nel caso di GCC 3.4 si potrebbero usare le precedenti. Ma nel caso di GCC 3.3 cosa conviene usare come march?!? pentium3 o pentium4. _________________ Registered as User #281564 and Machines #163761
Last edited by gutter on Thu Dec 09, 2004 3:25 pm; edited 1 time in total |
|
Back to top |
|
|
Vendicatore Apprentice
Joined: 05 Apr 2004 Posts: 252 Location: Carate Brianza, Italy
|
Posted: Thu Dec 09, 2004 12:10 pm Post subject: |
|
|
Per quanto riguarda il 3.3 ti consiglio di optare per pentium4, visto che se usi march=pentium3 non usi le sse2 che sono supportate dal processore.
Il fatto di avere piu' cache di L2 non dovrebbe influenzare piu' di tanto le ottimizzazioni.
Ps=usa -mtune al posto di -march, visto che quest'ultima e' li solo per compatibilita' |
|
Back to top |
|
|
gutter Bodhisattva
Joined: 13 Mar 2004 Posts: 7162 Location: Aarau, Aargau, Switzerland
|
Posted: Thu Dec 09, 2004 4:18 pm Post subject: |
|
|
Vendicatore wrote: | Per quanto riguarda il 3.3 ti consiglio di optare per pentium4, visto che se usi march=pentium3 non usi le sse2 che sono supportate dal processore.
[CUT]
|
Questo dove lo hai letto, io non sono riuscito a trovare nessun riferimento a ciò nel manuale di GCC.
Vendicatore wrote: |
[CUT]
Il fatto di avere piu' cache di L2 non dovrebbe influenzare piu' di tanto le ottimizzazioni.
[CUT]
|
Non saprei. Come sopra: hai un riferimento su cui basi la tua affermazione.
Vendicatore wrote: |
[CUT]
Ps=usa -mtune al posto di -march, visto che quest'ultima e' li solo per compatibilita' |
Uhm il manuale di GCC dice altro:
Il manuale di GCC wrote: | -march=cpu-type
Generate instructions for the machine type cpu-type. The choices for cpu-type are the same as for -mtune. Moreover, specifying -march=cpu-type implies -mtune=cpu-type. |
_________________ Registered as User #281564 and Machines #163761 |
|
Back to top |
|
|
Vendicatore Apprentice
Joined: 05 Apr 2004 Posts: 252 Location: Carate Brianza, Italy
|
Posted: Thu Dec 09, 2004 5:11 pm Post subject: |
|
|
gutter wrote: | Vendicatore wrote: | Per quanto riguarda il 3.3 ti consiglio di optare per pentium4, visto che se usi march=pentium3 non usi le sse2 che sono supportate dal processore.
[CUT]
|
Questo dove lo hai letto, io non sono riuscito a trovare nessun riferimento a ciò nel manuale di GCC.
|
I pentium 3 non hanno il supporto alle sse2, mentre il pentium-m (centrino) si. Se usi -arch=pentium3 de facto rinunci alle sse2.
Non c'e' bisogno di leggerlo, e' una questione architetturale.
gutter wrote: |
Vendicatore wrote: |
[CUT]
Il fatto di avere piu' cache di L2 non dovrebbe influenzare piu' di tanto le ottimizzazioni.
[CUT]
|
Non saprei. Come sopra: hai un riferimento su cui basi la tua affermazione.
|
Anche qui il discorso e' abbastanza fumoso. Le ottimizzazioni di un compilatore riguardano principalmente il modo in cui determinate istruzioni/sequenze di istruzioni vengono tradotte in linguaggio macchina.
Questo dipende essenzialmente dall'arcitettura interna del processore:
ad esempio (tralasciando il discorso sse2) i pentium 4 e gli athlon-xp (o athlon 64, quando eseguono condice a 32 bit) riguarda essenzialmente la lunghezza delle pipe di esecuzione. Infatti il p4 ha una pipe estremamente lunga (mi pare 20 stadi, ma potrei sbagliarmi) e questo significa che per funzionare a livello ottimale bisogna cercare di ridurre i casi in cui si ha una "pipe lock" (ovvero un attesa attiva sulla pipe per l'attesa del risultato di un operzione precedente direttamente connessa all'istruzione in corso), in quanto avendo una pipe piu' lunga aumenta "il danno" derivato dall'avvenire di questa condizione.
Quindi il codice ottimizzato per p4 avra un utilizzo "speculativo" (o cerchera una via "speculativa") di alcune operazioni atte a mantenere le pipes occupate e a massimizzarne l'efficienza.
Per quanto riguarda la cache di L1/2/3, indipendente dall'architettura che si sta utilizzando, piu' se ne ha meglio e' (in pratica limiti l'accesso alla memoria di sistema per piu' codice, e siccome nel migliore dei casi la ram e' a 400Mhz, avere un tampone da qualche Ghz non e' male).
Di fatti da quando esiste il p4 ha continuato ad aumentare la cache di L1/2 ma questo non ha portato ad altre ottimizzazioni di gcc.
gutter wrote: |
Vendicatore wrote: |
[CUT]
Ps=usa -mtune al posto di -march, visto che quest'ultima e' li solo per compatibilita' |
Uhm il manuale di GCC dice altro:
Il manuale di GCC wrote: | -march=cpu-type
Generate instructions for the machine type cpu-type. The choices for cpu-type are the same as for -mtune. Moreover, specifying -march=cpu-type implies -mtune=cpu-type. |
|
Qui errore mio , mi ero confuso con -mcpu... |
|
Back to top |
|
|
gutter Bodhisattva
Joined: 13 Mar 2004 Posts: 7162 Location: Aarau, Aargau, Switzerland
|
Posted: Thu Dec 09, 2004 5:43 pm Post subject: |
|
|
Grazie per la risposta sei stato molto chiaro. _________________ Registered as User #281564 and Machines #163761 |
|
Back to top |
|
|
federico Advocate
Joined: 18 Feb 2003 Posts: 3272 Location: Italy, Milano
|
Posted: Thu Dec 09, 2004 6:53 pm Post subject: |
|
|
gutter wrote: | Vendicatore wrote: | Per quanto riguarda il 3.3 ti consiglio di optare per pentium4, visto che se usi march=pentium3 non usi le sse2 che sono supportate dal processore.
[CUT]
|
Questo dove lo hai letto, io non sono riuscito a trovare nessun riferimento a ciò nel manuale di GCC.
|
Si anche secondo me e' meglio cosi', io ho sempre usato cosi' col gcc 3.3
E' scritto nel man di gcc
man gcc wrote: |
pentium3, pentium3m
Intel Pentium3 CPU based on PentiumPro core with MMX and SSE instruction set support.
pentium-m
Low power version of Intel Pentium3 CPU with MMX, SSE and SSE2 instruction set support. Used by Centrino notebooks.
pentium4, pentium4m
Intel Pentium4 CPU with MMX, SSE and SSE2 instruction set support.
|
Quantunque secondo me e' opinabile la descrizione data di p-m _________________ Sideralis www.sideralis.org
Pic http://blackman.amicofigo.com/gallery
Arduino http://www.arduino.cc
Chi aveva potuto aveva spaccato
2000 pezzi buttati là
Molti saluti,qualche domanda
Semplice come musica punk |
|
Back to top |
|
|
Taglia Apprentice
Joined: 05 Nov 2004 Posts: 244
|
Posted: Thu Dec 09, 2004 7:23 pm Post subject: |
|
|
Vendicatore wrote: |
Di fatti da quando esiste il p4 ha continuato ad aumentare la cache di L1/2 ma questo non ha portato ad altre ottimizzazioni di gcc.
|
Anche perchè i livelli di caching sono un meccanismo trasparente rispetto al programmatore e al compilatore (a parte qualche eccezione in cui si può effettivamente forzare un blocco a non essere rimosso dalla cache, ma dubito che ci siano tali meccanismi su un sistema PC ... lo vedo più utile per un sistema embedded magari ) _________________ Taglia
./ do NOT click ...
./ Mentecritica: Non esistono questioni di principio |
|
Back to top |
|
|
gutter Bodhisattva
Joined: 13 Mar 2004 Posts: 7162 Location: Aarau, Aargau, Switzerland
|
Posted: Fri Dec 10, 2004 3:58 pm Post subject: |
|
|
federico wrote: | [
[CUT]
Quantunque secondo me e' opinabile la descrizione data di p-m |
In che senso? _________________ Registered as User #281564 and Machines #163761 |
|
Back to top |
|
|
djpaccio n00b
Joined: 06 May 2005 Posts: 1 Location: Trieste
|
Posted: Fri May 06, 2005 1:40 pm Post subject: opzioni gcc per pentium-centrino? |
|
|
Ciau a tutti,
avrei una mezza idea di installare gentoo sul mio nuovo portatile, avevo già provato ad installarla nel desktop che avevo prima ed era andato tutto ok, mi piace molto.
Il portatile è dotato di un pentium-centrino, ho visto che solo la nuova versione di gcc-3.4 accetta le opzioni di compilazione ottimizzate per il mio processore, ( ma gcc-3.4 è ancora instabile, infatti ad un mio amico che l'ha provato ha avuto molti errori di compilazione con esso ).
Vorrei sapere che opzioni "sicure" posso usare per compilare correttamente programmi con un pentium-centrino, utilizzando la versione di gcc stabile?
Vi ringrazio in anticipo!!!!
Saluti
Federico
|
|
Back to top |
|
|
fedeliallalinea Administrator
Joined: 08 Mar 2003 Posts: 31288 Location: here
|
Posted: Fri May 06, 2005 1:43 pm Post subject: |
|
|
Facciamo una ricerca almeno prima di postare, grazie _________________ Questions are guaranteed in life; Answers aren't. |
|
Back to top |
|
|
Lucacri Tux's lil' helper
Joined: 27 Jan 2005 Posts: 147 Location: 2a Curva di Lesmo!
|
Posted: Fri May 06, 2005 3:09 pm Post subject: |
|
|
So che forse potrei essere leggermente OT.
Vorrei sapere chi di voi ha provato il GCC 4.0 sul pentium-centrino, perche io sto aspettando a installarlo perche ho letto che ci sono innumerevoli errori di compilazione dei pacchetti in portage!
Grazie |
|
Back to top |
|
|
.:deadhead:. Advocate
Joined: 25 Nov 2003 Posts: 2963 Location: Milano, Italy
|
|
Back to top |
|
|
wolf3d Tux's lil' helper
Joined: 27 Aug 2003 Posts: 101 Location: Nibelheim
|
Posted: Wed Jun 08, 2005 10:13 pm Post subject: le vostre CFLAGS centrino |
|
|
Ciao a tutti
volevo sapere tra quelli che hanno un laptop con centrino che flags usano giusto per farmi un'idea (si ho già guardato in wiki, forum e google )
io attualmente uso queste (trovate in un wiki, dove erano consigliate per evitare problemi in bootstrap...)
Code: | CFLAGS="-O2 -march=pentium3 -pipe -mfpmath=sse" |
questa è la cpu
Code: | ragnarok root # cat /proc/cpuinfo
processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 9
model name : Intel(R) Pentium(R) M processor 1500MHz
stepping : 5
cpu MHz : 1496.343
cache size : 1024 KB
fdiv_bug : no
hlt_bug : no
f00f_bug : no
coma_bug : no
fpu : yes
fpu_exception : yes
cpuid level : 2
wp : yes
flags : fpu vme de pse tsc msr mce cx8 sep mtrr pge mca cmov pat clflush dts acpi mmx fxsr sse sse2 tm pbe est tm2
bogomips : 2957.31
|
Il laptop è un toshiba satellite pro m30
ah ultima cosa.. esiste qualche utility e/o database dove vedere tutti i tipi di processori? io non sono riuscito a trovare nulla..
mi spiego meglio centrino è generico.. dai valori di model family e stepping si dovrebbero ottenere informazioni più precise no? (tipo se è un core dothan o banias etc)
ciao ^^ _________________ The Brave Do Not Fear The Grave |
|
Back to top |
|
|
gutter Bodhisattva
Joined: 13 Mar 2004 Posts: 7162 Location: Aarau, Aargau, Switzerland
|
Posted: Wed Jun 08, 2005 10:31 pm Post subject: |
|
|
Fatto il merge del thread di wolf3d con questo.
@wolf3d: molte delle risposte alle tue domande sono contenue in questo thread, buona lettura _________________ Registered as User #281564 and Machines #163761 |
|
Back to top |
|
|
wolf3d Tux's lil' helper
Joined: 27 Aug 2003 Posts: 101 Location: Nibelheim
|
Posted: Wed Jun 08, 2005 10:32 pm Post subject: |
|
|
grazieeee!! leggo subbbito _________________ The Brave Do Not Fear The Grave |
|
Back to top |
|
|
nick_spacca l33t
Joined: 29 May 2004 Posts: 689 Location: Paris/France
|
Posted: Thu Jun 09, 2005 8:56 am Post subject: |
|
|
Io con questo processore qui (con attivo cpufreq & enhanced speedstep...):
Code: | nick@nick-book nick $ cat /proc/cpuinfo
processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 13
model name : Intel(R) Pentium(R) M processor 1.70GHz
stepping : 6
cpu MHz : 599.523
cache size : 2048 KB
fdiv_bug : no
hlt_bug : no
f00f_bug : no
coma_bug : no
fpu : yes
fpu_exception : yes
cpuid level : 2
wp : yes
flags : fpu vme de pse tsc msr mce cx8 sep mtrr pge mca cmov pat clflush dts acpi mmx fxsr sse sse2 ss tm pbe est tm2
bogomips : 1188.32
|
uso queste CFlag:
Code: | CFLAGS="-O2 -pipe -march=pentium-m -mfpmath=sse -mmmx -msse -msse2 -fforce-addr -fprefetch-loop-arrays -fomit-frame-pointer" |
con questo compilatore:
Code: | nick@nick-book nick $ gcc -v
(...)
gcc version 3.4.4 (Gentoo 3.4.4, ssp-3.4.4-1.0, pie-8.7.8)
|
che ho trovato in un thread internazionale sul pentium-m (ma non ricordo quale...sorry) e non ho mai -al momento- avuto problemi di compilazione di nessun tipo di programma.....Ed ho un sistema completo con anche programmi ~x86 e M~x86....
Come prestazioni pero' non ho mai fatto un confronto con altri tipi di flag e/o compilatori (sono partito da stage 1 ricompilando tutto con gcc 3.4 praticamente da subito....), pero' devo dire che il processore viaggia che e' una bellezza.... _________________ I can resist anything but temptation.
(O. Wilde) |
|
Back to top |
|
|
f0llia l33t
Joined: 22 Apr 2003 Posts: 873
|
Posted: Tue Jul 05, 2005 3:21 pm Post subject: Ottimizzare CFLAG per centrino |
|
|
Ciao a tutti, vorrei sapere che CFLAG utilizzate per un notebook centrino ? Che ottimizzazioni ?
Qualcuno ha provato qualcosa in particolare e ha delle buone prestazioni ?
Tnx all |
|
Back to top |
|
|
nick_spacca l33t
Joined: 29 May 2004 Posts: 689 Location: Paris/France
|
Posted: Tue Jul 05, 2005 3:33 pm Post subject: |
|
|
Ci sono molti 3D in cui se ne parla, italiani ed internazionali!!!
Uno di questi lo trovi qui _________________ I can resist anything but temptation.
(O. Wilde) |
|
Back to top |
|
|
f0llia l33t
Joined: 22 Apr 2003 Posts: 873
|
Posted: Tue Jul 05, 2005 3:52 pm Post subject: |
|
|
ti ringrazio Leggo tutto.. |
|
Back to top |
|
|
gutter Bodhisattva
Joined: 13 Mar 2004 Posts: 7162 Location: Aarau, Aargau, Switzerland
|
Posted: Thu Jul 07, 2005 10:43 am Post subject: |
|
|
Fatto il merge del thread di f0llia con questo. _________________ Registered as User #281564 and Machines #163761 |
|
Back to top |
|
|
MrDirt Gizmo n00b
Joined: 19 Jun 2005 Posts: 17 Location: Milano && 74100 Puglia (CA)
|
Posted: Thu Jul 07, 2005 10:58 pm Post subject: |
|
|
Scusate la banalità della domanda,
il compilatore presente nell'ultima versione del live cd di gentoo è lo stesso che poi uno si ritrova nel sistema?
Se si, quello del minimal cd che versione di gcc è?
Se uno volesse usare un compilatore più aggiornato al momento della compilazione / installazione del sistema, come potrebbe fare?
Questa domanda nasce dal fatto che specificando come march=pentiumm, la compilazione produce un sacco di errori.
Grazie |
|
Back to top |
|
|
wolf3d Tux's lil' helper
Joined: 27 Aug 2003 Posts: 101 Location: Nibelheim
|
Posted: Thu Jul 07, 2005 11:04 pm Post subject: |
|
|
mi sembra che 'pentiumm' sia per le gcc > 3.4 che sono ancora masked e cmq sul live cd ci sono le 3.3 _________________ The Brave Do Not Fear The Grave |
|
Back to top |
|
|
MrDirt Gizmo n00b
Joined: 19 Jun 2005 Posts: 17 Location: Milano && 74100 Puglia (CA)
|
Posted: Thu Jul 07, 2005 11:09 pm Post subject: |
|
|
wolf3d wrote: | mi sembra che 'pentiumm' sia per le gcc > 3.4 che sono ancora masked e cmq sul live cd ci sono le 3.3 |
Appunto, per compilare con il corretto flag, partendo ad installare un sistema da zero su di una macchina con il dothan, come si potrebbe fare? |
|
Back to top |
|
|
wolf3d Tux's lil' helper
Joined: 27 Aug 2003 Posts: 101 Location: Nibelheim
|
Posted: Thu Jul 07, 2005 11:12 pm Post subject: |
|
|
ho lanciato un search generico ma dovrebbe andare bene _________________ The Brave Do Not Fear The Grave |
|
Back to top |
|
|
Apetrini Veteran
Joined: 09 Feb 2005 Posts: 1158
|
Posted: Fri Jul 08, 2005 12:21 am Post subject: |
|
|
Ho un portatile centrino.
Ora uso il gcc 3.4 e chiaramente la flag è settata su pentium-m
Quando usavo il gcc 3.3 era settata su pentium3 e tra le USE c'era la flag "sse" e "sse2".
Tutto qua!
Sul gcc 3.3 ho preferito usare pentium3 piuttosto che pentium4 perche il centrino è molto simile al pentium3, anzi è quasi uguale, è solo che ha la cache piu ampia e il supporto alle sse2.
Ciao. _________________ Linux ape 2.6.31-vanilla. Paludis since 0.28.0. |
|
Back to top |
|
|
|