Zum Inhalt springen

„Intel C++ Compiler“ – Versionsunterschied

aus Wikipedia, der freien Enzyklopädie
[gesichtete Version][gesichtete Version]
Inhalt gelöscht Inhalt hinzugefügt
Die Änderungen von Sunks wurden verworfen und die Version 102538265 von 217.86.159.131 wiederhergestellt; Keine Verbesserung
K Bot: http → https
 
(44 dazwischenliegende Versionen von 38 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
{{Infobox Software
{{Infobox Software
|Name = <!-- Nur wenn vom Artikelnamen abweichend -->
|Logo =
|Logo =
|Screenshot = <!-- NUR BEI FREIER SOFTWARE -->
|Beschreibung = <!-- Beschreibung des Screenshots -->
|Hersteller = [[Intel]]
|Hersteller = [[Intel]]
|AktuelleVersion = 12.1
|AktuelleVersion = <!-- Wikidata -->
|AktuelleVersionFreigabeDatum = 8. September 2011
|Betriebssystem = [[Linux]], [[Windows]] und [[Mac OS X]]
|Betriebssystem = [[Linux]], [[Windows]] und [[Mac OS X]]
|Kategorie = [[Compiler]]
|Kategorie = [[Compiler]]
|Lizenz = [[proprietäre Software]]
|Lizenz = [[proprietäre Software]]
|Deutsch =
|Deutsch =
|Website = http://software.intel.com/en-us/intel-compilers/
|Website = [http://software.intel.com/en-us/intel-compilers/ software.intel.com]
}}
}}
Der '''Intel C/C++ Compiler''' oder kurz '''ICC''' ist ein [[Compiler]] mit Frontends für [[C_(Programmiersprache)|C]] und [[C++]], den der Prozessorhersteller [[Intel]] zur Verfügung stellt. Erhältlich ist die aktuelle Version 12 des Compilers für die Betriebssysteme [[Linux]], [[Windows]] und [[Mac OS X]] und die Prozessorarchitekturen [[IA-32]], [[x86-64]] (Intel 64, AMD64). [[IA-64]] (Itanium2) wird mit den Versionen 11.x des Compilers unterstützt. Die Produktpakete '''Composer''' sind sowohl sprachspezifisch als auch gemeinsam für C/C++ und Fortran erhältlich und umfassen jeweils alle Intel Performanzbibliotheken (IPP, MKL usw.). Alle genannten Compiler unterstützen [[OpenMP]].
Der '''Intel C/C++ Compiler''' oder kurz '''ICC''' ist ein [[Compiler]] mit Frontends für [[C (Programmiersprache)|C]] und [[C++]], den der Prozessorhersteller [[Intel]] zur Verfügung stellt. Erhältlich ist die aktuelle Version des Compilers für die Betriebssysteme [[Linux]], [[Windows]] und [[Mac OS X]] und die Prozessorarchitekturen [[IA-32]], [[x86-64]] ([[Intel 64]], AMD64). [[IA-64]] (Itanium2) wird mit den Versionen 11.x des Compilers unterstützt. Die Produktpakete '''Composer''' sind sowohl sprachspezifisch als auch gemeinsam für C/C++ und Fortran erhältlich und umfassen jeweils alle Intel-Performanzbibliotheken (IPP, MKL usw.). Alle genannten Compiler unterstützen [[OpenMP]].


Die Compiler sind jeweils kompatibel (Kommandozeilenschalter) zum Standardcompiler der jeweiligen Plattform (Linux, Windows) und auch [[Application Binary Interface|ABI]]-kompatibel (Linker) mit entweder der [[GNU Compiler Collection|GCC]] oder dem Microsoft Compiler. Die Compiler haben zusätzliche Fähigkeiten ([[Vektorisierer]] etc.) und unterstützen die SIMD-Befehlssatzerweiterungen [[Multi Media Extension|MMX]], [[Streaming SIMD Extensions|SSE]], [[SSE2]], [[SSE3]], [[SSE4]] und [[AVX]].
Die Compiler sind kompatibel zu sowohl der [[GNU Compiler Collection|GCC]] als auch dem Microsoft Compiler unter Windows. Sie haben zusätzliche Fähigkeiten wie automatische Vektorisierung und unterstützen die SIMD-Befehlssatzerweiterungen [[Multi Media Extension|MMX]], [[Streaming SIMD Extensions|SSE]], [[SSE2]], [[SSE3]], [[SSE4]] und [[AVX]].


Für nicht kommerzielle Projekte ist die Linux-Lizenz für die Architekturen x86, x64 und IA64 kostenfrei.
Für nichtkommerzielle Projekte war die Linux-Lizenz für die Architekturen x86, x64 und IA64 bis Mitte 2014 kostenfrei. Dieses Programm wurde inzwischen eingestellt.<ref>[https://software.intel.com/en-us/non-commercial-software-development software.intel.com]</ref>

== Kritik ==
Eine optimale Performance wird nur für Intel-[[CPU]]s erzielt. Eine vom Compiler generierte CPU-Dispatch-Funktion liest zur [[Laufzeit (Informatik)|Laufzeit]] den CPU-Vendor-String aus und führt optimierten Code nur für GenuineIntel-Prozessoren aus, unabhängig vom tatsächlich vorhandenen [[Befehlssatz]].
{{Zitat
|Text=If the vendor string says ‘GenuineIntel’ then it uses the optimal code path. If the CPU is not from Intel then, in most cases, it will run the slowest possible version of the code, even if the CPU is fully compatible with a better version.
|Sprache=en
|Autor=Agner Fog
|Übersetzung=Lautet der ''vendor string'' ‚GenuineIntel‘, so verwendet er den optimalen Codepfad. Ist die CPU nicht von Intel, läuft in den meisten Fällen die langsamst mögliche Codeversion, auch wenn die CPU vollständig mit einer besseren Version kompatibel ist.
|ref=<ref>[https://www.agner.org/optimize/blog/read.php?i=49#49 Agner’s CPU Blog]</ref>}}
Nachdem Intel 2009 einen Rechtsstreit gegen AMD verlor, wird auf dieses Verhalten hingewiesen:
{{Zitat
|Text=Intel® compilers, associated libraries and associated development tools may or may not optimize to the same degree for non-Intel microprocessors for optimizations that are not unique to Intel microprocessors. These optimizations include Intel® Streaming SIMD Extensions 2 (Intel® SSE2), Intel® Streaming SIMD Extensions 3 (Intel® SSE3), and Supplemental Streaming SIMD Extensions 3 (Intel® SSSE3) instruction sets and other optimizations.
|Sprache=en
|Autor=Intel
|Quelle=
|ref=<ref>[https://web.archive.org/web/20160312075142/https://software.intel.com/en-us/articles/use-intel-ipp-on-compatible-amd-processors Memento] des [[Internet Archive]]s vom 12. März 2016 der ursprünglichen [https://software.intel.com/en-us/articles/use-intel-ipp-on-compatible-amd-processors Original-Artikels] zur Verwendung von IPP auf AMD-Systemen ('Use Intel® IPP on Compatible AMD* Processors') <!-- HTTP 404; Weiterleitung auf Artikel bez. INTEL-Prozessoren; der Ursprungsartikel ist nicht länger vorhanden --></ref>}}


== Siehe auch ==
== Siehe auch ==
* [[Intel Fortran Compiler]]
* [[Intel Fortran Compiler]]


== Weblinks ==
== Einzelnachweise ==
<references />
* [http://software.intel.com/en-us/articles/non-commercial-software-download/ Download]


[[Kategorie:Programmiersprache C++]]
[[Kategorie:Programmierwerkzeug]]
[[Kategorie:Intel|C++ Compiler]]
[[Kategorie:Intel|C++ Compiler]]
[[Kategorie:Programmierwerkzeug]]

[[bg:Intel C++ Compiler]]
[[Kategorie:C++]]
[[Kategorie:C (Programmiersprache)]]
[[cs:Překladač Intel C++]]
[[Kategorie:Historische Software]]
[[en:Intel C++ Compiler]]
[[es:Intel C++ Compiler]]
[[fr:Intel C++ Compiler]]
[[ja:Intel C++ Compiler]]
[[ko:인텔 C++ 컴파일러]]
[[pt:Intel C++ Compiler]]
[[ru:Intel C++ compiler]]

Aktuelle Version vom 23. April 2025, 09:19 Uhr

Intel C++ Compiler
Basisdaten

Entwickler Intel
Aktuelle Version 19.0.8[1]
Betriebssystem Linux, Windows und Mac OS X
Kategorie Compiler
Lizenz proprietäre Software
software.intel.com

Der Intel C/C++ Compiler oder kurz ICC ist ein Compiler mit Frontends für C und C++, den der Prozessorhersteller Intel zur Verfügung stellt. Erhältlich ist die aktuelle Version des Compilers für die Betriebssysteme Linux, Windows und Mac OS X und die Prozessorarchitekturen IA-32, x86-64 (Intel 64, AMD64). IA-64 (Itanium2) wird mit den Versionen 11.x des Compilers unterstützt. Die Produktpakete Composer sind sowohl sprachspezifisch als auch gemeinsam für C/C++ und Fortran erhältlich und umfassen jeweils alle Intel-Performanzbibliotheken (IPP, MKL usw.). Alle genannten Compiler unterstützen OpenMP.

Die Compiler sind kompatibel zu sowohl der GCC als auch dem Microsoft Compiler unter Windows. Sie haben zusätzliche Fähigkeiten wie automatische Vektorisierung und unterstützen die SIMD-Befehlssatzerweiterungen MMX, SSE, SSE2, SSE3, SSE4 und AVX.

Für nichtkommerzielle Projekte war die Linux-Lizenz für die Architekturen x86, x64 und IA64 bis Mitte 2014 kostenfrei. Dieses Programm wurde inzwischen eingestellt.[2]

Eine optimale Performance wird nur für Intel-CPUs erzielt. Eine vom Compiler generierte CPU-Dispatch-Funktion liest zur Laufzeit den CPU-Vendor-String aus und führt optimierten Code nur für GenuineIntel-Prozessoren aus, unabhängig vom tatsächlich vorhandenen Befehlssatz.

“If the vendor string says ‘GenuineIntel’ then it uses the optimal code path. If the CPU is not from Intel then, in most cases, it will run the slowest possible version of the code, even if the CPU is fully compatible with a better version.”

„Lautet der vendor string ‚GenuineIntel‘, so verwendet er den optimalen Codepfad. Ist die CPU nicht von Intel, läuft in den meisten Fällen die langsamst mögliche Codeversion, auch wenn die CPU vollständig mit einer besseren Version kompatibel ist.“

Agner Fog[3]

Nachdem Intel 2009 einen Rechtsstreit gegen AMD verlor, wird auf dieses Verhalten hingewiesen:

“Intel® compilers, associated libraries and associated development tools may or may not optimize to the same degree for non-Intel microprocessors for optimizations that are not unique to Intel microprocessors. These optimizations include Intel® Streaming SIMD Extensions 2 (Intel® SSE2), Intel® Streaming SIMD Extensions 3 (Intel® SSE3), and Supplemental Streaming SIMD Extensions 3 (Intel® SSSE3) instruction sets and other optimizations.”

Intel[4]

Einzelnachweise

[Bearbeiten | Quelltext bearbeiten]
  1. Varsha Madananth: Intel® C++ Compiler 19.0 for Windows* Release Notes for Intel® Parallel Studio XE 2019. 20. März 2020.
  2. software.intel.com
  3. Agner’s CPU Blog
  4. Memento des Internet Archives vom 12. März 2016 der ursprünglichen Original-Artikels zur Verwendung von IPP auf AMD-Systemen ('Use Intel® IPP on Compatible AMD* Processors')