View previous topic :: View next topic |
Author |
Message |
Gandalf98 Guru
![Guru Guru](/images/ranks/rank_rect_3.gif)
![](images/avatars/gallery/Quake3/quake3_sarge.gif)
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 |
|
![](templates/gentoo/images/spacer.gif) |
bld l33t
![l33t l33t](/images/ranks/rank_rect_4.gif)
![](images/avatars/gallery/Zelda/Zelda_-_Link.jpg)
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. ![Smile :)](images/smiles/icon_smile.gif) _________________ A happy GNU/Linux user!! |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
Gandalf98 Guru
![Guru Guru](/images/ranks/rank_rect_3.gif)
![](images/avatars/gallery/Quake3/quake3_sarge.gif)
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 |
|
![](templates/gentoo/images/spacer.gif) |
Rotterdam n00b
![n00b n00b](/images/ranks/rank_rect_0.gif)
![](images/avatars/8914553283fb5042cb5a49.gif)
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 ![Very Happy :D](images/smiles/icon_biggrin.gif) _________________ Core Dump |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
morellik l33t
![l33t l33t](/images/ranks/rank_rect_4.gif)
![](images/avatars/gallery/Loony Toons/Looney_Toons_-_Sylvester.gif)
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 |
|
![](templates/gentoo/images/spacer.gif) |
bld l33t
![l33t l33t](/images/ranks/rank_rect_4.gif)
![](images/avatars/gallery/Zelda/Zelda_-_Link.jpg)
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? ![Question :?:](images/smiles/icon_question.gif) _________________ A happy GNU/Linux user!! |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
randomaze Bodhisattva
![Bodhisattva Bodhisattva](/images/ranks/rank-bodhisattva.gif)
![](images/avatars/191195238462262e08ea92.jpg)
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? ![Question :?:](images/smiles/icon_question.gif) |
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 ![Very Happy :D](images/smiles/icon_biggrin.gif) _________________ Ciao da me! |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
Gandalf98 Guru
![Guru Guru](/images/ranks/rank_rect_3.gif)
![](images/avatars/gallery/Quake3/quake3_sarge.gif)
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 |
|
![](templates/gentoo/images/spacer.gif) |
morellik l33t
![l33t l33t](/images/ranks/rank_rect_4.gif)
![](images/avatars/gallery/Loony Toons/Looney_Toons_-_Sylvester.gif)
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 |
|
![](templates/gentoo/images/spacer.gif) |
|