# Jemand Erfahrung mit dem intel c++ compiler

## zweistein12

Hi Leute

Also wie schon geschrieben hat jemand Erfahrung. Man kann ja in USE Variable dies einstellen, aber geht das dann auch?

mfg

Mario

 :Question:   :Question:  [/quote][/code]

----------

## Dimitri

 :Question:   USE Variablen? Was willst Du denn da einstellen?

Der Intel Compiler ist ein kommerzielles Produkt.

Aber wenn Du Fragen hast. probiers mal hier: http://spotlight.de/nzforen/ccc/t/forum_ccc_1.html Ein gewisser Dr.C. WinApi  :Very Happy:  hat mit dem Intelcompiler wohl schon gearbeitet.

Dim

----------

## zweistein12

 *Quote:*   

> icc - Use the Intel C++ Compiler if the package supports it

 

So stehts in der use.desc. Meiner Meinung sollte das heissen das man hier den icc einschalten kann, d.h. wenn der ebuild-script-Schreiber sagt "mein" Programm kann man auch mit dem icc kompilieren, nutzt portage dann halt den icc.

mfg

Mario

----------

## zweistein12

Wasn los hat das noch keiner probiert?

Ich werds mal tun indem ich ein nacktes system den gcc wegnehme und dann verschiedene Programme uebersetzen lasse.

mfg

Mario

----------

## KiLLaCaT

is dir schon aufgefallen, dass die linzenz, von dem intel-hypertread so 399$ kostet?

----------

## Starfox

????

Ich dachte da gab es eine abgeschwächte KOSTENLOSE Lizenz für Linux sofern man einem mehrseitigem EULA zustimmmt?!?!?!?!?

----------

## zweistein12

 *Quote:*   

> 
> 
> is dir schon aufgefallen, dass die linzenz, von dem intel-hypertread so 399$ kostet?

 

Meinst du damit den compiler, oder was?

ALso wenn ich emerge icc ausfuehre und dann er anfaengt aus dem Internet zu laden, dann sollte man doch annehmen das das ganze kostenlos ist.

Ich habe der EULA zugestimmt und ueber www geladen.

Gruss Mario

----------

## Starfox

für alle die es selbst nicht glauben, hier steht, dass man eine kostenlose NOSUPPORT! version für linux bekommen kann!!!

http://www.intel.com/software/products/compilers/clin/noncom.htm

----------

## maystorm

Was sind die Vorteile von dem Teil?

Holt der das Letzte aus Pentium-Prozessoren heraus? Gibt's irgendwo Performance-Vergleiche mit dem GCC-3.X?

----------

## Starfox

Nun probiers doch mal aus mit bzip2 zum Beispiel!

Bei mir brachte der icc-5.0 gegenüber dem gcc-2.95 einen Geschwindigkeitsvorteil von 18% (AMD K6-300), allerdings ließen sich damals noch nicht alle pakete mit icc übersetzen. 

Nun heute dürfte es ähnliche geschwindigkeitsvorteile geben!

----------

## maystorm

Hätte ich jetzt net gedacht, dass der Intel-Compiler auch AMD-Prozessoren schneller macht...   :Shocked: 

Aus reiner Neugier: worauf beziehen sich die 18% Geschwindigkeitsvorteil?

----------

## Starfox

 *maystorm wrote:*   

> Hätte ich jetzt net gedacht, dass der Intel-Compiler auch AMD-Prozessoren schneller macht...  
> 
> 

 

Das liegt daran, dass der "bytecode" generator scheinbar besser war/ist als der vom gcc-2.95! => das binary läuft schneller!

 *maystorm wrote:*   

> 
> 
> Aus reiner Neugier: worauf beziehen sich die 18% Geschwindigkeitsvorteil?

 

```

time bzip2.gcc linux-2.4.20.tar 

```

gegenüber 

```

time bzip2.icc linux-2.4.20.tar

```

Das ist aber nicht repräsentativ für das ganze system, da hier integer arithmetik sehr gefragt ist. besser wäre es die laufzeit einer kernelkompilation (weil io-lastig,...) zu messen, nur leider konnte icc den Kernel damals noch nicht, und jetzt habe ich im augenblick nicht mehr die zeit dazu !  :Sad: 

----------

## duke

Weiß jemand wie man portage sagen kann, das er testweise den icc nehmen soll. Man kann ja in die Use Flags die Option icc reinschreiben, aber welches Paket tut dies überhaupt unterstützen. Ich will auch Pakete ohne bekannte icc Unterstützung mit den dem icc compilieren. Einfach den cc link umschreiben funktioniert net. Ich will mal testen wie viel der icc subjektiv schneller als der gcc ist.

thx Duke

----------

## Starfox

da wirst du erstmal den ganzen portage baum auf  dein OVERLAY verzeichnis kopieren müssen, und dir dann ein skript schreiben, dass dir in jedem ebuild  (im overlay verz.) die icc option ein fügt! allerdings dürfte das einen nicht unerheblichen aufwand darstellen.

ps: in den alten icc-5.0 zeiten waren die on icc erzeugten bibliotheken nicht gcc-2.95 kompatibel! aber vielleicht hat sich das mittlererweile geändert!

----------

## zweistein12

Der Kernel wird moomentan nicht ohne patches kompiliert. Ebenso nicht der mc. Aber bzip2 wird uebersetzt also testweises kompilieren mit icc wird nichts bringen. Aber schau dir mal das bison ebuild an. Das wird auch mit icc uebersetzt. Du kannst ja bug-reports schreiben, wo es ueberall geht aber nicht im ebuild angegeben ist. (Wie beim bzip2).

----------

## duke

Ich habe mir mal die ebuild Datei von bison angesehen und da nix vom icc entdeckt. Ich suche Pakete wo die icc Unterstützung bereits enthalten ist, damit ich weis was ich alles in den Paketen oder besser nur in den ebuilds ändern muß.

das mit dem bug-report is ne gute Idee. Wenn ich Zeit finde werde ich dazu mal eine Website machen. Wer mir dabei helfen will, soll mir ne Mail schicken.

----------

## Starfox

 *duke wrote:*   

> Ich habe mir mal die ebuild Datei von bison angesehen und da nix vom icc entdeckt. Ich suche Pakete wo die icc Unterstützung bereits enthalten ist, damit ich weis was ich alles in den Paketen oder besser nur in den ebuilds ändern muß.

 

```

for FILE in `find /usr/portage/ -name "*.ebuild"`;do cat $FILE|grep "use icc" >/dev/null &&echo $FILE;done

/usr/portage/app-games/crafty/crafty-18.15-r2.ebuild

/usr/portage/app-games/crafty/crafty-18.15-r1.ebuild

/usr/portage/app-games/crafty/crafty-19.1.ebuild

/usr/portage/sys-devel/bison/bison-1.75.ebuild

/usr/portage/sys-devel/bison/bison-1.35.ebuild

/usr/portage/media-gfx/povray/povray-3.1g-r5.ebuild

/usr/portage/media-gfx/povray/povray-3.50a.ebuild

/usr/portage/sys-apps/bzip2/bzip2-1.0.2-r2.ebuild

/usr/portage/dev-libs/blitz/blitz-0.6.ebuild

```

 *duke wrote:*   

> 
> 
> das mit dem bug-report is ne gute Idee. Wenn ich Zeit finde werde ich dazu mal eine Website machen. Wer mir dabei helfen will, soll mir ne Mail schicken.

 

Ich bin dabei!!!

Noch ein sehr einfaches Beispiel, wie man das useicc flag einbinden könnte! (aus meinem bzip2.ebuild)

```

src_compile() {

    # enable use of user specified compiler

    if use icc

    then

        myconf='CC=icc CXX=icpc CFLAGS=-O2'

    else

        myconf="CC=${CC:-gcc}"

    fi

    if [ -z "`use build`" ]

    then

        emake -f Makefile-libbz2_so \

            ${myconf} all || die

    fi

    emake ${myconf} all || die

}

```

Have fun!  :Very Happy: Last edited by Starfox on Thu Jan 02, 2003 3:03 pm; edited 1 time in total

----------

## Starfox

Hi,

es gibt nun einen offiziellen Maintainer für ICC -Support bei gentoo:

 *Quote:*   

> 
> 
> Adds 
> 
> The following devs recently joined the Gentoo team:
> ...

 

am besten sollten wir uns mal an ihn wenden, er wird uns dann sicherlich gerne mit einbinden!

mfg fox

----------

