View previous topic :: View next topic |
Author |
Message |
mafferri n00b
Joined: 19 Nov 2013 Posts: 6
|
Posted: Fri Dec 27, 2013 3:04 pm Post subject: alternativa a -march=native per distcc |
|
|
oggi mi è arrivato il nuovo portatile e vorrei installare gentoo tramite distcc però ho letto nella guida che sconsigliano di usare nelle CFLAGS -march=native , ora vorrei un consiglio su cosa potrei mettere nelle CFLAGS a posto di -march=native
Il fisso che compilerà ha come cpu una fx4100 mentre il portatile un A4-5000 e i set di istruzioni che utilizzano son differenti |
|
Back to top |
|
|
ago Developer
Joined: 01 Mar 2008 Posts: 1527 Location: Milan, Italy
|
Posted: Sun Dec 29, 2013 5:16 pm Post subject: |
|
|
Usa Code: | gcc -march=native -E -v - </dev/null 2>&1 | sed -n 's/.* -v - //p' | per trovare il tuo -march |
|
Back to top |
|
|
mafferri n00b
Joined: 19 Nov 2013 Posts: 6
|
Posted: Wed Jan 01, 2014 4:04 am Post subject: |
|
|
grazie mille *__*
domani provo |
|
Back to top |
|
|
djinnZ Advocate
Joined: 02 Nov 2006 Posts: 4831 Location: somewhere in L.O.S.
|
Posted: Wed Jan 08, 2014 4:47 pm Post subject: |
|
|
Partiamo da un classico e banale /etc/portage/make.conf wrote: | CFLAGS="-march=native -fomit-frame-pointer -O2 -g0" | che sono le opzioni più comuni.Per prima cosa per fare le cose per bene lo trasformiamo in /etc/portage/make.conf wrote: | CFLAGS="-march=native -fomit-frame-pointer"
CFLAGS="${CFLAGS} -O2 -g0" | di modo da poter ragionare meglio.Se leggo l'output di gcc -march=native -E -v - </dev/null 2>&1 | sed -n 's/.* -v - //p' wrote: | -march=amdfam10 -mcx16 -msahf -mno-movbe -mno-aes -mno-pclmul -mpopcnt -mabm -mno-lwp -mno-fma -mno-fma4 -mno-xop -mno-bmi -mno-bmi2 -mno-tbm -mno-avx -mno-avx2 -mno-sse4.2 -mno-sse4.1 -mlzcnt -mno-rdrnd -mno-f16c -mno-fsgsbase --param l1-cache-size=64 --param l1-cache-line-size=64 --param l2-cache-size=512 -mtune=amdfam10 -fno-strict-overflow -fPIE -fstack-protector-all | e mi leggo il fottutissimo manuale di gcc scoprirò che, per incominciare, -fomit-frame-pointer -O2 è ridondande su amd64 ma, pensandoci bene, solo se sono su un sistema multilib, per compilare gli eseguibili a 32 serve, quindi val la pensa di lasciarlo stare.
Sicuramente "--param l1-cache-size=64 --param l1-cache-line-size=64 --param l2-cache-size=512" mi servono e quindi li lascio stare, sempre leggendo il manuale scoprirò che -mtune=amdfam10 implica "-mno-movbe -mno-aes -mno-pclmul -mpopcnt -mabm -mno-lwp -mno-fma -mno-fma4 -mno-xop -mno-bmi -mno-bmi2 -mno-tbm -mno-avx -mno-avx2 -mno-sse4.2 -mno-sse4.1 -mno-rdrnd -mno-f16c -mno-fsgsbase" quindi un risultato decente potrebbe essere /etc/portage/make.conf wrote: | CFLAGS="-march=amdfam10 -mcx16 -msahf -mpopcnt -mabm -mlzcnt --param l1-cache-size=64 --param l1-cache-line-size=64 --param l2-cache-size=512 -mtune=amdfam10"
CFLAGS="${CFLAGS} -fomit-frame-pointer -O2 -g0" | questo è il grande segreto. Esistono anche, in teoria, i parametri ma non funzionano granché bene (almeno sul gcc hardened, sul normale non so).
Tutto come già detto e ripetuto sempre dai soliti noti qui, qui, qui, qui, tanto per fare qualche esempio. Come già detto da uin confronto tra diversi risultati si potrebbe fare un comune denominatore per avere una ottimizzazione decente ed identica su macchine simili.
Per chiudere la cosa ha senso solo per evitare gli eventuali problemi causati da una riga di comando chilometrica per gcc e nient'altro.
@Ago: dato che sei moderatore alle volte potresti ricordare che è sempre il caso di fare una ricerca od accodarsi ai thread. Ovviamente il solito cazziatone perché ho risposto male e peggio male, che ho già chiesto scusa etc. me lo sono già fatto da solo e direi che la possiamo chiudere direttamente qui
ps: le sviolinate mi danno ai nervi... _________________ scita et risus abundant in ore stultorum sed etiam semper severi insani sunt
mala tempora currunt...mater stultorum semper pregna est
Murpy'sLaw:If anything can go wrong, it will - O'Toole's Corollary:Murphy was an optimist |
|
Back to top |
|
|
|
|
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
|
|