Intel C++ Composer XE 2013 for Linux ( icc 13.0 )

Segnalazioni di pacchetti utili, richieste di creazione pacchetti e supporto tecnico
Rispondi
Avatar utente
Barone Rosso
Little John
Messaggi: 1249
Iscritto il: 30 agosto 2007, 9:36
Contatta:

Intel C++ Composer XE 2013 for Linux ( icc 13.0 )

Messaggio da Barone Rosso » 26 novembre 2010, 11:39

Mi sono messo a scrivere un PKGBUILD per il nuovo sistema di distribuzione del compilatore intel:

Il mio PKGBUILD divide il pacchetto di base in diversi sottopachetti e quindi si può installare quello che si vuole.
Il minimo necessario è: intel-compiler-base intel-openmp

Se vi interessa ho messo tutto su AUR
Link:
https://aur.archlinux.org/packages.php?ID=56337

Nb.: L'installazione di gcc è necessaria anche se non l'ho messo come dipendenza!

Codice: Seleziona tutto

vedi AUR ..... https://aur.archlinux.org/packages.php?ID=56337
Ricordate di prendere un file di licenza valido qui:
http://software.intel.com/en-us/article ... -download/

e di copiarlo nella directory del PKGBUILD ....

L'installazione completa richiede circa 3 Gb di disco libero
Per fare i panchetti ci vogliono almeno 2 Gb di disco.

La versione corrente non è ancora completa, ma compilatore e dubugger funzionano senza problemi.
Ultima modifica di Barone Rosso il 6 settembre 2012, 13:51, modificato 3 volte in totale.

Ubermensch
Little John
Messaggi: 994
Iscritto il: 27 maggio 2008, 14:28

Messaggio da Ubermensch » 29 novembre 2010, 13:25

Dunque innanzi tutto ottimo lavoro...
Come faccio ad utilizzare questo compilatore per singoli pacchetti senza modificare makepkg.conf...
Per esempio se volessi modificare da abs il pkgbuild di firefox???
:cool:

Avatar utente
Hilinus
Moderatore
Messaggi: 5649
Iscritto il: 25 ottobre 2008, 19:28
Architettura: x86_64 (64bit)

Messaggio da Hilinus » 29 novembre 2010, 13:39

Prova a giocare con la variabile d'ambiente CC o CXX. Non penso ci sia modo di settarle direttamente in makepkg.conf, mi sa che ti tocca modificare i PKGBUILD che vuoi compilare.
Q6600 @ 3.2 Ghz + Thermalright Ultra 120 Extreme | 6 GB DDR2 Ocz Gold
Asus P5K | Sapphire HD7850 2GB | E ovviamente... Arch Linux :)

Avatar utente
Barone Rosso
Little John
Messaggi: 1249
Iscritto il: 30 agosto 2007, 9:36
Contatta:

Messaggio da Barone Rosso » 3 dicembre 2010, 13:27

Ubermensch ha scritto:Dunque innanzi tutto ottimo lavoro...
Come faccio ad utilizzare questo compilatore per singoli pacchetti senza modificare makepkg.conf...
Per esempio se volessi modificare da abs il pkgbuild di firefox???
:cool:
Come detto sopra e molto genericamente:
export CC=icc
export CXX=iccp

E ricordate le opzioni di compilazione:
export CFLAGS=" -O3 -unroll-aggressive -xHost -gcc -finline -dM "
export CXXFLAGS=" -O3 -unroll-aggressive -xHost -gcc -finline -dM "

[Attenzione il codice generato con queste opzioni non è esportabile su altre CPU, in particolare modelli precedenti e forse neppure su AMD e viceversa]

Un altra possibile opzione è -ipo (ma rende molto lenta la compilazione)

Facendo notare che in alcuni casi si deve per forza modificare il PKGBUILD.

Ricompilare firefox è una pessima idea è una procedura lunga e non da nessun beneficio pratico.
Quello che conviene ricompilare sono le libs multimediali e matematiche.

Inoltre visto che gcc usa un c++ con molte funzioni non standard è sempre possibile che la copulazione si blocchi con un errore (esempio xorg e vlc)
E avrete pure molti warning (ignorateli)

Inoltre il gcc 4.5 va più che bene.

Nb. la versione che ho messo adesso del PKGBUILD dovrebbe essere quasi definitiva.
Ultima modifica di Barone Rosso il 3 dicembre 2010, 13:34, modificato 1 volta in totale.

Avatar utente
4javier
Moderatore
Messaggi: 9541
Iscritto il: 5 ottobre 2008, 17:19
Architettura: x86_64 (64bit)

Messaggio da 4javier » 3 dicembre 2010, 14:22

Barone Rosso ha scritto: è sempre possibile che la copulazione si blocchi con un errore .
No, scusami...non ho nulla da dire sull'argomento, solo non potevo non quotare e farla rimanere per i posteri prima che tu modifichi il tuo messaggio :lol:
Typo o lapsus fruediano? :/
Offertissima: Mi Vendo!!! Cercasi lavoro o corso di formazione finanziato in tutta italia da Roma in su, oppure in provincia di Catanzaro.
In particolare sono interessato ad opportunità su Roma.

Avatar utente
Barone Rosso
Little John
Messaggi: 1249
Iscritto il: 30 agosto 2007, 9:36
Contatta:

Messaggio da Barone Rosso » 3 dicembre 2010, 16:25

4javier ha scritto:
Barone Rosso ha scritto: è sempre possibile che la copulazione si blocchi con un errore .
No, scusami...non ho nulla da dire sull'argomento, solo non potevo non quotare e farla rimanere per i posteri prima che tu modifichi il tuo messaggio :lol:
Typo o lapsus fruediano? :/
Nessun lapsus :D
È colpa del correttore ortografico .....

prova a correggere ..... copilazione ...

Avatar utente
Barone Rosso
Little John
Messaggi: 1249
Iscritto il: 30 agosto 2007, 9:36
Contatta:

Messaggio da Barone Rosso » 9 dicembre 2010, 21:10

Aggiornato:
Ho sostituito il vecchio LD_LIBRARY_PATH con ldconfig (molto migliore)
Inoltre c'è la nuova versione del compilatore.

Vedi:
https://aur.archlinux.org/packages.php?ID=43798

[Votate il parchetto su AUR :D ]

Se qualcosa non dovesse andare segnalate subito .....

Avatar utente
Barone Rosso
Little John
Messaggi: 1249
Iscritto il: 30 agosto 2007, 9:36
Contatta:

Messaggio da Barone Rosso » 20 dicembre 2010, 20:14

Nuova versione del pacchetto:

Rinnovato lo script di profilo.
Risolto un bug con le tbb libs
E risolti un altro paio di problemi.

Vedi:
https://aur.archlinux.org/packages.php?ID=43798 [Votatemi :D ]

LilithSChild
Newbie
Messaggi: 5
Iscritto il: 18 dicembre 2010, 18:34

Messaggio da LilithSChild » 21 dicembre 2010, 23:47

Ciao !
Scusa l'ignoranza ma in pratica sarebbe un compilatore cpp ottimizzato per intel?

Avatar utente
pierluigi
Amministratore
Messaggi: 1204
Iscritto il: 26 agosto 2007, 15:39

Messaggio da pierluigi » 22 dicembre 2010, 0:05

LilithSChild ha scritto:Ciao !
Scusa l'ignoranza ma in pratica sarebbe un compilatore cpp ottimizzato per intel?
Esattamente!

Avatar utente
Barone Rosso
Little John
Messaggi: 1249
Iscritto il: 30 agosto 2007, 9:36
Contatta:

Messaggio da Barone Rosso » 12 gennaio 2011, 19:15

Qualche novità:

Ottimizzato il panchetto ..... intel-tbb .

Adesso uso bsdtar per estrarre gli rpm (quindi non servono dipendenze strane) e c'è pure l'opzione per gli utenti AMD.

Notare che: la compressione dei pacchetti con xz può essere molto lenta, in particolare nei casi delle mkl e delle ipp.
Quindi si deve avere pazienza o rimuovere questi due pacchetti dalla lista (se non usati).

Link:
https://aur.archlinux.org/packages.php?ID=56337 [Votatemi :D ]
Ultima modifica di Barone Rosso il 6 settembre 2012, 12:34, modificato 2 volte in totale.

Avatar utente
trapanator
Little John
Messaggi: 908
Iscritto il: 22 gennaio 2009, 18:56
Località: Trentino

Messaggio da trapanator » 13 gennaio 2011, 10:57

sarebbe interessante sapere se qualcuno ha trovato dei miglioramenti rispetto a GCC liscio.
PC Fisso: Intel E6300 - 4GB RAM - Nvidia Geforce 9300M - HD 320GB

Avatar utente
Barone Rosso
Little John
Messaggi: 1249
Iscritto il: 30 agosto 2007, 9:36
Contatta:

Messaggio da Barone Rosso » 13 gennaio 2011, 13:42

trapanator ha scritto:sarebbe interessante sapere se qualcuno ha trovato dei miglioramenti rispetto a GCC liscio.
Domanda a cui è difficile rispondere ....
Di certo qualche miglioramento lo si vede sempre rispetto a gcc.
Ma bisogna anche ammettere che le ultime versioni di gcc sono notevolmente migliorate e spesso sono alla pari.

Il punto di forza di icc sono libs come mkl .. che non hanno equivalenti nel mondo gcc e garantiscono prestazioni ottime.

test fatto al volo, manipolazione di alberi binari e simili:

g++ (gcc)
total time: 8.55


icpc (Intel)
total time: 7.84

[Non viene usata nessuna libs esterna se non le stl (che vengono compilate inline)]


Ho fatto anche qualcosa con sqlite3:

gcc: CPU Time: user 11.202603 sys 0.019999
icc: CPU Time: user 10.402655 sys 0.023331

Query lunga su una tabella di ca 500'000 righe.
Ultima modifica di Barone Rosso il 13 gennaio 2011, 18:12, modificato 1 volta in totale.

Avatar utente
trapanator
Little John
Messaggi: 908
Iscritto il: 22 gennaio 2009, 18:56
Località: Trentino

Messaggio da trapanator » 13 gennaio 2011, 21:18

Barone Rosso ha scritto:
trapanator ha scritto:sarebbe interessante sapere se qualcuno ha trovato dei miglioramenti rispetto a GCC liscio.
Domanda a cui è difficile rispondere ....
Di certo qualche miglioramento lo si vede sempre rispetto a gcc.
Ma bisogna anche ammettere che le ultime versioni di gcc sono notevolmente migliorate e spesso sono alla pari.

Il punto di forza di icc sono libs come mkl .. che non hanno equivalenti nel mondo gcc e garantiscono prestazioni ottime.

test fatto al volo, manipolazione di alberi binari e simili:

g++ (gcc)
total time: 8.55


icpc (Intel)
total time: 7.84

[Non viene usata nessuna libs esterna se non le stl (che vengono compilate inline)]


Ho fatto anche qualcosa con sqlite3:

gcc: CPU Time: user 11.202603 sys 0.019999
icc: CPU Time: user 10.402655 sys 0.023331

Query lunga su una tabella di ca 500'000 righe.
Io ho imparato questa famosissima affermazione di Donald Knuth:

"We should forget about small efficiencies, say about 97% of the time: premature optimization is the root of all evil. Yet we should not pass up our opportunities in that critical 3%.A good programmer will not be lulled into complacency by such reasoning, he will be wise to look carefully at the critical code; but only after that code has been identified" - Donald Knuth
PC Fisso: Intel E6300 - 4GB RAM - Nvidia Geforce 9300M - HD 320GB

Avatar utente
Barone Rosso
Little John
Messaggi: 1249
Iscritto il: 30 agosto 2007, 9:36
Contatta:

Messaggio da Barone Rosso » 26 novembre 2011, 9:34

Adesso è stata fatta una wiki dedicata al icc :cool: :cool: :cool: non sono stato io il primo autore

https://wiki.archlinux.org/index.php/Intel_C%2B%2B


Se volete contribuire ....
Ultima modifica di Barone Rosso il 26 novembre 2011, 10:09, modificato 1 volta in totale.

Avatar utente
Barone Rosso
Little John
Messaggi: 1249
Iscritto il: 30 agosto 2007, 9:36
Contatta:

Re: Intel C++ Composer XE 2011 for Linux ( icc 12.0 )

Messaggio da Barone Rosso » 6 settembre 2012, 12:36

È arrivato icc 13


Inoltre ho 'abbandonato' il vecchio PKGBUILD per farne uno basato su intel parallel studio XE
Vedi: https://aur.archlinux.org/packages.php?ID=56337

Che contiene pure un compilatore fortran.


Inoltre per chi usa python:
Ho fatto i PKGBUILD per numpy e scipy basati sulle MKL.

https://aur.archlinux.org/packages.php?ID=62281
https://aur.archlinux.org/packages.php?ID=62572

Rispondi