View previous topic :: View next topic |
Author |
Message |
Gandalf98 Guru
Joined: 28 Feb 2003 Posts: 472 Location: Loano
|
Posted: Mon Nov 17, 2003 9:33 pm Post subject: Trovare CFLAGS usando un algoritmo evoluzionistico |
|
|
Interessante articolo che spiega molte cose sulle CFLAGS utilità, miti e realtà!!
http://www.coyotegulch.com/acovea/index.html
Ora vado a finire di leggerlo!!
Cià |
|
Back to top |
|
|
bld l33t
Joined: 26 Mar 2003 Posts: 759 Location: Outter Space
|
Posted: Wed Nov 19, 2003 4:39 am Post subject: uhm |
|
|
uhm pare proprio interessante, credo che gentoo sia il posto giusto
per aplicare una teoria del genere e capire se va bene o no. _________________ A happy GNU/Linux user!! |
|
Back to top |
|
|
Gandalf98 Guru
Joined: 28 Feb 2003 Posts: 472 Location: Loano
|
Posted: Wed Nov 19, 2003 8:26 am Post subject: |
|
|
Penso proprio di si!!!
Ho provato a scaricare gccacovea, ma è scritto espilicitamente per pentium4 (io ho un athlon-xp). Ho cercato di modificarlo, ma mi dà errori a non finire. Penso che molti parametri di ottimazione siano riferiti a gcc3.4!!
Comunque è il il primo articolo, che parla di questo argomento, che non parla dei parametri in maniera separata, ma considera le loro (poco chiare) interazioni!!!
Cià |
|
Back to top |
|
|
Rotterdam n00b
Joined: 14 Nov 2003 Posts: 22 Location: Core Dump
|
Posted: Wed Nov 19, 2003 8:50 am Post subject: |
|
|
molto interessante come post gandalf sono in attesa di una versione di gcc 3.* stabile e lo provo grande _________________ Core Dump |
|
Back to top |
|
|
morellik l33t
Joined: 03 Feb 2003 Posts: 629 Location: Firenze
|
Posted: Wed Nov 19, 2003 9:11 am Post subject: |
|
|
Grazie per la segnalazione. Veramente MOLTO interessante.
Ho scaricato l'articolo e il programma. La compilazione e' andata a buon fine e spero di capire come fare ad usare il tutto nel modo migliore. (sono un po' di coccio )
Vi faro' sapere se ottengo risultati di qualche tipo.
Ciauz
morellik |
|
Back to top |
|
|
bld l33t
Joined: 26 Mar 2003 Posts: 759 Location: Outter Space
|
Posted: Thu Nov 20, 2003 9:37 pm Post subject: |
|
|
morellik wrote: | Grazie per la segnalazione. Veramente MOLTO interessante.
Ho scaricato l'articolo e il programma. La compilazione e' andata a buon fine e spero di capire come fare ad usare il tutto nel modo migliore. (sono un po' di coccio )
Vi faro' sapere se ottengo risultati di qualche tipo.
Ciauz
morellik |
Ma come fai ad eseguire il benchmark in cose del genere?
ricompili gli stessi programmi con diverse CFLAGS e poi vedi quanta ram occupa? o cose del genere? _________________ A happy GNU/Linux user!! |
|
Back to top |
|
|
randomaze Bodhisattva
Joined: 21 Oct 2003 Posts: 9985
|
Posted: Fri Nov 21, 2003 9:01 am Post subject: |
|
|
bld wrote: |
Ma come fai ad eseguire il benchmark in cose del genere?
ricompili gli stessi programmi con diverse CFLAGS e poi vedi quanta ram occupa? o cose del genere? |
Più o meno.
Ho dato una letta all'articolo ieri in treno, non mi sembra faccia molto caso alla RAM o allo spazio su disco ma si concentra esclusivamente sul tempo di esecusione di alcuni programmi scelti ad hoc...
in pratica seleziona i flags con l'algoritmo genetico, compila, esegue e da un punteggio al risultato, poi sulla base dei vari punteggi evolve i "cromosomi" (ovvero i singoli flags) per una nuova generazione di "individui (i CFLAGS), compila, e ripete il tutto fino a una situazione ritenuta stabile.
Cmq. L'articolo (gli articoli... c'é l'altro che spiega il funzionamento dell'algoritmo) sono veramente interessanti! Grazie x il link _________________ Ciao da me! |
|
Back to top |
|
|
Gandalf98 Guru
Joined: 28 Feb 2003 Posts: 472 Location: Loano
|
Posted: Fri Nov 21, 2003 9:40 am Post subject: |
|
|
randomaze wrote: | Ho dato una letta all'articolo ieri in treno, non mi sembra faccia molto caso alla RAM o allo spazio su disco ma si concentra esclusivamente sul tempo di esecusione di alcuni programmi scelti ad hoc... |
Giusto! Secondo me è una pecca del test.
Però introducendo questi test i parametri in gioco salirebbero troppo, HD, RAM, tipo di fs, ...
Cià |
|
Back to top |
|
|
morellik l33t
Joined: 03 Feb 2003 Posts: 629 Location: Firenze
|
Posted: Fri Nov 21, 2003 11:24 am Post subject: |
|
|
Ho provato a lanciare il test che ho bloccato dopo una mezz'oretta (ho un portatile ed e' vero che e' freddo e posso risparmiare sul riscaldamento, ma mi stava andando a fuoco ).
Comunque da quello che ho visto, vengono testate diverse opzioni del compilatore e vengono trovate le migliori in base al test che viene eseguito.
Ecco un pezzo di output:
Code: |
best options for population 0
-fcse-skip-blocks
-fexpensive-optimizations
-frerun-cse-after-loop
-frerun-loop-opt
-fpeephole2
-finline-functions
-funroll-all-loops
-freduce-all-givs
best options for population 1
-fstrength-reduce
-frerun-cse-after-loop
-fschedule-insns2
-finline-functions
-frename-registers
-falign-functions
-funroll-all-loops
-fprefetch-loop-arrays
.
.
common options (found in all of the above lists)
-finline-functions
0ption counts:
-fno-merge-constants 0 0 0 1 0 1
-fno-defer-pop 0 0 0 2 0 2
-fno-thread-jumps 0 0 0 1 0 1
-fno-omit-frame-pointer 0 1 1 1 0 3
-fno-guess-branch-probability 0 0 1 2 0 3
-fno-cprop-registers 0 1 0 1 0 2
-foptimize-sibling-calls 2 1 3 3 3 12
-fcse-follow-jumps 1 1 3 2 1 8
.
.
|
Provero' in seguito a rifarlo su una macchina seria.
Ciauz
morellik |
|
Back to top |
|
|
|