View previous topic :: View next topic |
Author |
Message |
andrea.lai n00b
![n00b n00b](/images/ranks/rank_rect_0.gif)
![](images/avatars/gallery/Simpsons/simpsons_homer.gif)
Joined: 14 Nov 2003 Posts: 32
|
Posted: Wed Feb 23, 2005 4:25 pm Post subject: usare icc al posto di gcc |
|
|
Salve a tutti ,
da un pò di tempo mi e venuta in testa una brutta idea che però non riesco a toglermi dalla testa.
L'idea sarebbe quella di installare tutto il sistema gentoo compilandolo con icc invece che gcc.
Ho cercato diverse fonti ma nessuna è stata esaustiva e sopratutto, anche nei vari post di questo forum, tutti la sconsigliano.
E chiaro che io sono come San Tommaso e dunque prima di sconsigliarla vorrei provarla.
Per cercare di fare ciò ho provato 2 soluzioni :
1 . La prima cosa che ho provato a fare è stata quella di installare gcc ( come letto in qualche post su internet ) e poi settare in env.d le varie variabili necessarie all'uso di icc.
Tra le variabili c'erano anche le variabili CC e CXX che ho opportunamente modificato.
La mia speranza era quella che icc a questo punto doveva essere il compilatore di default del sistema e pertanto ho provato subito ad emergere un pacchetto ma, spiacevolmente, ho che le righe di compilazione chiamavano sempre gcc.
Per provare comunque che il compilatore funzionasse ho fatto un alias gcc='icc' ed ho rilanciato il comando di emerge constatando che il compilatore nuovo compilava correttamente il pacchetto.
A questo punto pongo anche la prima domanda : Come si fa dire a gentoo di usare icc e non più gcc ?
2. La seconda ipotesi, che però non sono riuscito ancora a sviscerare bene, era quella di installare un sistema ex-novo ( magari partendo dallo stage1 ? ) ma usare icc al posto di gcc ?
Qualcuno sa darmi qualche notizia ? Magari anche segnalandomi dei siti dove reperire info
Grazie a tutti.
Ciao. |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
gutter Bodhisattva
![Bodhisattva Bodhisattva](/images/ranks/rank-bodhisattva.gif)
![](images/avatars/67030318436dd16c1dd5e.jpg)
Joined: 13 Mar 2004 Posts: 7162 Location: Aarau, Aargau, Switzerland
|
Posted: Wed Feb 23, 2005 4:36 pm Post subject: |
|
|
Non credo riuscirai ad installare tutto il sistema con icc dal momento che non è detto che il codice si compili senza problemi su icc. _________________ Registered as User #281564 and Machines #163761 |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
max_1975 Tux's lil' helper
![Tux's lil' helper Tux's lil' helper](/images/ranks/rank_rect_1.gif)
![](images/avatars/18495303793eb0e79f167d8.jpg)
Joined: 25 Oct 2002 Posts: 93
|
Posted: Wed Feb 23, 2005 10:22 pm Post subject: |
|
|
Prova a dare un'occhiata qua:
[url] https://forums.gentoo.org/viewtopic-t-28435-highlight-icc.html?sid=d295ee29b22297a20822b62d09858f1f [/url]
...comunque posso dire che gli eseguibili compilati con icc sono mooolto più grandi di quelli compilati con gcc (dico questo per esperienza personale...uso icc tutto il giorno), anche se sono molto più performanti (per lo meno i programmi che hanno bassa interattività e un'alta richiesta di cpu, per esempio calcoli effettuati in grossi cicli for) _________________ Max |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
ballero n00b
![n00b n00b](/images/ranks/rank_rect_0.gif)
![](images/avatars/4519914224254765a7def0.gif)
Joined: 10 Jul 2004 Posts: 62
|
Posted: Mon Feb 28, 2005 7:09 pm Post subject: |
|
|
Quote: | A questo punto pongo anche la prima domanda : Come si fa dire a gentoo di usare icc e non più gcc ? |
Attraverso l'opzione
che inserisci nel file di configurazione icc.cfg o icpc.cfg in /opt/intel_cc_80/bin
Quote: | 2. La seconda ipotesi, che però non sono riuscito ancora a sviscerare bene, era quella di installare un sistema ex-novo ( magari partendo dallo stage1 ? ) ma usare icc al posto di gcc ?
Qualcuno sa darmi qualche notizia ? Magari anche segnalandomi dei siti dove reperire info |
Ti consiglio di costruire il sistema col gcc e poi di ricompilare, cosi' avrai sempre il fallback.
Se vuoi avere un'idea di cosa sia possibile ricompilare ti posto alcuni screen (verde=si'; rosso=no)
link1
link2
link3
Per le info, puoi controllare il forum di Intel dove, tra l'altro, viene spiegato come ricompilare firefox: link
Qui per un sistema ex-novo.
E qui per ricompilare il kernel.
Ho provato l'altro giorno, con successo, a ricompilare il kernel usando il 2.6.6 e la patch minimal. Il problema si e' presentato al riavvio del Pc con l'nvidia-kernel che assoulutamente non compila, neanche usando il CC_MISMATCH. |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
Dhaki Guru
![Guru Guru](/images/ranks/rank_rect_3.gif)
![](images/avatars/66168532540f5109c48086.png)
Joined: 16 Jun 2004 Posts: 325 Location: Ticino - CH
|
Posted: Mon Feb 28, 2005 7:17 pm Post subject: |
|
|
Bel 3d, avevo proprio voglia di usare a fondo icc! Provo un pò i suggerimenti postati, grazie ![Wink :wink:](images/smiles/icon_wink.gif) |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
ballero n00b
![n00b n00b](/images/ranks/rank_rect_0.gif)
![](images/avatars/4519914224254765a7def0.gif)
Joined: 10 Jul 2004 Posts: 62
|
Posted: Tue Mar 01, 2005 10:47 am Post subject: |
|
|
Ho trovato questo articolo che da' delle indicazioni molto interessanti per le flag da usare con Icc.
Vi consiglio di leggerlo. |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
Apetrini Veteran
![Veteran Veteran](/images/ranks/rank_rect_5_vet.gif)
![](images/avatars/131548374942290435d7b67.jpg)
Joined: 09 Feb 2005 Posts: 1158
|
Posted: Mon Oct 09, 2006 2:12 am Post subject: |
|
|
Resumo questa discussione per capire meglio alcune cose sul icc...
Non l'ho ancora provato(scusate ma sono estremamente scettico che ci sia qualcosa di migliore di gcc, ... è vero sono solo pregiudizi).
Ma è vero che produce eseguibili piu veloci di gcc? nella migliore delle ipotesi di quanto riesce a staccare il gcc?
Ho cercato in giro, ma non sono soddisfatto delle risposte, è ovvio che sul sito intel il loro complatore è il meglio del meglio....
Per favore se qualcuno sa qualcosa mi illumini.... _________________ Linux ape 2.6.31-vanilla. Paludis since 0.28.0. |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
gioi Apprentice
![Apprentice Apprentice](/images/ranks/rank_rect_2.gif)
Joined: 14 Feb 2006 Posts: 236
|
Posted: Mon Oct 09, 2006 7:56 am Post subject: |
|
|
è vero che Icc crea codice eseguibile più performante (IMHO, più che sull'eseguibile specifico i vantaggi maggiori sono sulle librerie che, a quanto avevo visto, sono poi linkate in maniera decisamente diversa), ma scordati di utilizzarlo su un PC desktop con interfaccia grafica...
All'epoca (remota in informatica, visto che si parla di circa due anni fa), all'univ provammo a mettere su un piccolo server dual Xeon, che gestisse in RT il processo di uno streaming multimediale proveniente da una scheda sperimentale. Avevamo optato per Icc perchè le librerie di "interfacciamento" al DSP della scheda erano precompilate con Icc (c'erano anche i sorgenti, però ci sembrava una buona idea utilizzare del codice già ottimizzato). Le applicazioni realizzate funzionavano da linea di comando, ma non ci fu verso di poter utilizzare un client che ci "mostrasse" (è tra virgolette perchè si trattava di un flusso prevalentemente audio, di cui ci interessava analizzare lo spettro) in una finestra di X quanto elaborato. O non compilava, o compilava e non linkava, oppure il codice compilato si piantava in una marea di segmentation fault diverse. |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
x-dd n00b
![n00b n00b](/images/ranks/rank_rect_0.gif)
![](images/avatars/149486187944018995470b0.png)
Joined: 19 Aug 2005 Posts: 68
|
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
Apetrini Veteran
![Veteran Veteran](/images/ranks/rank_rect_5_vet.gif)
![](images/avatars/131548374942290435d7b67.jpg)
Joined: 09 Feb 2005 Posts: 1158
|
Posted: Tue Oct 10, 2006 6:30 pm Post subject: |
|
|
Leggo dal wiki:
Code: |
if you unmerge icc, all binaries compiled with it will stop working.
|
ma che senso ha?
Poi non capisco... chi aderisce di piu allo standard? gcc, icc o entrambi allo stesso modo?
Vedo che ci sono applicazioni che non compilano con icc, non capisco se succede perche sono scritte leggermente fuori standard e gcc lo tollera oppure se proprio icc non rispetta lo standard...
Mistero.... _________________ Linux ape 2.6.31-vanilla. Paludis since 0.28.0. |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
funkoolow Guru
![Guru Guru](/images/ranks/rank_rect_3.gif)
![](images/avatars/7643761644156cd264c531.gif)
Joined: 21 Sep 2004 Posts: 545 Location: er paese delle anguille
|
Posted: Tue Oct 10, 2006 9:35 pm Post subject: |
|
|
mi intrometto solo per segnalare a chiunque interessasse che su linux pro #45 (ottobre) c'è giusto giusto un bell'articolo-recensione sui vari compilatori in circolazione: si raffrontano gcc, icc, ekopath, pgcc, tinycc e tendra. _________________ SabaziaLUG: il LUG a nord di Roma |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
Ic3M4n Advocate
![Advocate Advocate](/images/ranks/rank-G-1-advocate.gif)
![](images/avatars/108089865444d4c570e38bb.gif)
Joined: 02 Nov 2004 Posts: 3489 Location: Bergamo.
|
Posted: Tue Oct 10, 2006 11:36 pm Post subject: |
|
|
bell'articolo... mi sembra un po' eccessivo dire bello.
direi che è abbastanza superficiale (è anche vero che lo spazio della rivista è limitato e l'articolo deve essere scritto in modo da essere capito da tutti i lettori, quindi non si addentra molto nei particolari) e come al solito cercano di fare notizia dove notizia non c'è. |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
funkoolow Guru
![Guru Guru](/images/ranks/rank_rect_3.gif)
![](images/avatars/7643761644156cd264c531.gif)
Joined: 21 Sep 2004 Posts: 545 Location: er paese delle anguille
|
Posted: Wed Oct 11, 2006 5:40 am Post subject: |
|
|
Ic3M4n wrote: | bell'articolo... mi sembra un po' eccessivo dire bello. |
beh, io l'ho trovato interessante, se non altro ho scoperto che esistono altri compilatori oltre il gcc... ![Rolling Eyes :roll:](images/smiles/icon_rolleyes.gif) _________________ SabaziaLUG: il LUG a nord di Roma |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
gioi Apprentice
![Apprentice Apprentice](/images/ranks/rank_rect_2.gif)
Joined: 14 Feb 2006 Posts: 236
|
Posted: Wed Oct 11, 2006 7:11 am Post subject: |
|
|
Apetrini wrote: | Leggo dal wiki:
Code: |
if you unmerge icc, all binaries compiled with it will stop working.
|
ma che senso ha?
Poi non capisco... chi aderisce di piu allo standard? gcc, icc o entrambi allo stesso modo?
Vedo che ci sono applicazioni che non compilano con icc, non capisco se succede perche sono scritte leggermente fuori standard e gcc lo tollera oppure se proprio icc non rispetta lo standard...
Mistero.... |
Non e' un problema di come sono scritte, ma di come poi, il compilatore linka le librerie e/o "svolge" determinate porzioni di codice. Probabilmente, l'uso combinato di funzioni di librerie a basso livello, e' ottimizzato in maniera tale che se non si rispetta un certo "ordine" o una certa sintassi convenzionale, crea errori. Per esempio:
Code: | for (i = 0; i < 100; i++){
...
}
|
o
Code: | i=0;
while(i++ < 100){
...
}
|
compilando senza ottimizzazione generano lo stesso ed identico codice macchina (un loop), ma utilizzando un compilatore per codice ottimizzato, cio' non e' piu' scontato! Puo' darsi che differiscano leggermente, ma soprattutto utilizzino registri inconsueti, e, a lungo andare, magari a causa di una serie di loop annidati, cio' porta alla generazione di codice non valido.
Quanto alla questione unmerge, dipende dal fatto che un compilatore non e' composto solo da un eseguibile, ma da un enviroment completo, nel quale il sorgente viene compilato, ed al quale fa riferimento per essere eseguito. Se cosi' non fosse, un eseguibile per una certa architettura, ma compilato in un ambiente software diverso, potrebbe funzionare senza la necessita' del medesimo ambiente software (in pratica per esempio si potrebbero usare gli eseguibili di winsozz su linux e viceversa). |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
Ic3M4n Advocate
![Advocate Advocate](/images/ranks/rank-G-1-advocate.gif)
![](images/avatars/108089865444d4c570e38bb.gif)
Joined: 02 Nov 2004 Posts: 3489 Location: Bergamo.
|
Posted: Wed Oct 11, 2006 12:05 pm Post subject: |
|
|
funkoolow wrote: |
beh, io l'ho trovato interessante, se non altro ho scoperto che esistono altri compilatori oltre il gcc... ![Rolling Eyes :roll:](images/smiles/icon_rolleyes.gif) |
beh... se quello che ti interessava sapere era quello non lo metto in dubbio. però credo ci siano altri modi per sapere quali compilatori esistono in linux.
però sotto alcuni punti di vista rispecchia molto lo stile della rivista... diciamo molto noob.
pongo un'esempio: Titolo testare compilatori è un'arte oscura e misteriosa, ma se lo scopo è ottenere un codice che garantisca ottime prestazioni...
Tendra: voto 4/10 perchè non è disponibile nelle disribuzioni, solo debian è tra le poche elette. se lo compilate a mano dovete sistemarvi alcuni script.
ok, va bene il supporto per il c++ è pessimo o cose del genere, però il voto in gran lunga è dato dal fatto che non riescono a compilarlo a mano e non c'è il binario disponibile. |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
funkoolow Guru
![Guru Guru](/images/ranks/rank_rect_3.gif)
![](images/avatars/7643761644156cd264c531.gif)
Joined: 21 Sep 2004 Posts: 545 Location: er paese delle anguille
|
Posted: Wed Oct 11, 2006 7:14 pm Post subject: |
|
|
Ic3M4n wrote: | però sotto alcuni punti di vista rispecchia molto lo stile della rivista... diciamo molto noob. |
beh, oh, ma è chiaro che deve mantenersi a livelli generalistici e vagamente informativi, mica può uscire ogni mese un tomo di 500 pagine per trattare le cose come si deve eh
Per quanto mi riguarda ho trovato l'articolo certamente non esauriente ma perlomeno stimolante! in fondo nel mio piccolo, non essendo studente informatico ma semplice appassionato (quindi, da buon noob ), ho apprezzato la scoperta dell'esistenza di altri compilatori (eh si, non lo sapevo!)
Chiuderei qua st'OT, stiamo divagando! ![Wink :wink:](images/smiles/icon_wink.gif) _________________ SabaziaLUG: il LUG a nord di Roma |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
|