Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
usare icc al posto di gcc
View unanswered posts
View posts from last 24 hours
View posts from last 7 days

 
Reply to topic    Gentoo Forums Forum Index Forum italiano (Italian)
View previous topic :: View next topic  
Author Message
andrea.lai
n00b
n00b


Joined: 14 Nov 2003
Posts: 32

PostPosted: Wed Feb 23, 2005 4:25 pm    Post subject: usare icc al posto di gcc Reply with quote

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
View user's profile Send private message
gutter
Bodhisattva
Bodhisattva


Joined: 13 Mar 2004
Posts: 7162
Location: Aarau, Aargau, Switzerland

PostPosted: Wed Feb 23, 2005 4:36 pm    Post subject: Reply with quote

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
View user's profile Send private message
max_1975
Tux's lil' helper
Tux's lil' helper


Joined: 25 Oct 2002
Posts: 93

PostPosted: Wed Feb 23, 2005 10:22 pm    Post subject: Reply with quote

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
View user's profile Send private message
ballero
n00b
n00b


Joined: 10 Jul 2004
Posts: 62

PostPosted: Mon Feb 28, 2005 7:09 pm    Post subject: Reply with quote

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
Code:
-no-gcc

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
View user's profile Send private message
Dhaki
Guru
Guru


Joined: 16 Jun 2004
Posts: 325
Location: Ticino - CH

PostPosted: Mon Feb 28, 2005 7:17 pm    Post subject: Reply with quote

Bel 3d, avevo proprio voglia di usare a fondo icc! Provo un pò i suggerimenti postati, grazie :wink:
Back to top
View user's profile Send private message
ballero
n00b
n00b


Joined: 10 Jul 2004
Posts: 62

PostPosted: Tue Mar 01, 2005 10:47 am    Post subject: Reply with quote

Ho trovato questo articolo che da' delle indicazioni molto interessanti per le flag da usare con Icc.
Vi consiglio di leggerlo.
Back to top
View user's profile Send private message
Apetrini
Veteran
Veteran


Joined: 09 Feb 2005
Posts: 1158

PostPosted: Mon Oct 09, 2006 2:12 am    Post subject: Reply with quote

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
View user's profile Send private message
gioi
Apprentice
Apprentice


Joined: 14 Feb 2006
Posts: 236

PostPosted: Mon Oct 09, 2006 7:56 am    Post subject: Reply with quote

è 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
View user's profile Send private message
x-dd
n00b
n00b


Joined: 19 Aug 2005
Posts: 68

PostPosted: Tue Oct 10, 2006 6:12 am    Post subject: Reply with quote

http://gentoo-wiki.com/HOWTO_ICC_and_Portage
_________________
Odio gli arroganti.
Moderare un forum non ha senso, le persone adulte sanno governarsi da sole.
Back to top
View user's profile Send private message
Apetrini
Veteran
Veteran


Joined: 09 Feb 2005
Posts: 1158

PostPosted: Tue Oct 10, 2006 6:30 pm    Post subject: Reply with quote

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
View user's profile Send private message
funkoolow
Guru
Guru


Joined: 21 Sep 2004
Posts: 545
Location: er paese delle anguille

PostPosted: Tue Oct 10, 2006 9:35 pm    Post subject: Reply with quote

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
View user's profile Send private message
Ic3M4n
Advocate
Advocate


Joined: 02 Nov 2004
Posts: 3489
Location: Bergamo.

PostPosted: Tue Oct 10, 2006 11:36 pm    Post subject: Reply with quote

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
View user's profile Send private message
funkoolow
Guru
Guru


Joined: 21 Sep 2004
Posts: 545
Location: er paese delle anguille

PostPosted: Wed Oct 11, 2006 5:40 am    Post subject: Reply with quote

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... :roll:
_________________
SabaziaLUG: il LUG a nord di Roma
Back to top
View user's profile Send private message
gioi
Apprentice
Apprentice


Joined: 14 Feb 2006
Posts: 236

PostPosted: Wed Oct 11, 2006 7:11 am    Post subject: Reply with quote

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
View user's profile Send private message
Ic3M4n
Advocate
Advocate


Joined: 02 Nov 2004
Posts: 3489
Location: Bergamo.

PostPosted: Wed Oct 11, 2006 12:05 pm    Post subject: Reply with quote

funkoolow wrote:

beh, io l'ho trovato interessante, se non altro ho scoperto che esistono altri compilatori oltre il gcc... :roll:

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
View user's profile Send private message
funkoolow
Guru
Guru


Joined: 21 Sep 2004
Posts: 545
Location: er paese delle anguille

PostPosted: Wed Oct 11, 2006 7:14 pm    Post subject: Reply with quote

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 :roll:

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 :P ), ho apprezzato la scoperta dell'esistenza di altri compilatori (eh si, non lo sapevo!) :wink:

Chiuderei qua st'OT, stiamo divagando! :wink:
_________________
SabaziaLUG: il LUG a nord di Roma
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Forum italiano (Italian) All times are GMT
Page 1 of 1

 
Jump to:  
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