Zum Inhalt springen

Intel C++ Compiler

aus Wikipedia, der freien Enzyklopädie
{{#if: | {{{Name}}} | {{#invoke:WLink|getArticleBase}} }}

{{#if: |

colspan="2" class="notheme" style="text-align:center; background:#Vorlage:Standardfarbe; color:#202122;" | |
 {{#if: {{#invoke:Wikidata|claim|P154}} | 
[[Datei:{{#invoke:Wikidata|claim|P154}}|150px]]
 }}

}}{{#if: |

{{{Screenshot}}}{{#if: |
{{{Beschreibung}}} }}|

}}

Basisdaten

{{#if: |

Hauptentwickler
 {{#if: {{#invoke:Wikidata|claim|P126}} | 
Maintainer claim|P126|parameter=link|references=ja|list=, }}
 }}

}}{{#if: Intel |

Entwickler Intel |
 {{#if: {{#invoke:Wikidata|claim|P178}} | 
Entwickler claim|P178|parameter=link|references=ja|list=, }}
 }}

}}{{#if: |

Erscheinungsjahr
 {{#if: {{#invoke:Wikidata|claim|P577}} | 
Erscheinungsjahr claim|P577|references=ja|list=, }} |
   {{#if: {{#invoke:Wikidata|claim|P571}} | 
Erscheinungsjahr claim|P571|references=ja|list=, }}
   }}
 }}

}}{{#ifeq: | KEINE_ANGABE || {{#if: |

Aktuelle Version
({{#if: | Vorlage:Datum – die Form mit drei unbenannten Parametern oder anderen einzelnen Zeiteinheiten ist veraltet und wird nicht mehr unterstützt. Bitte gib das Datum einfach im Klartext an.
format {{{AktuelleVersionFreigabeDatum}}} | {{#timefl:now|date}}}} {{{2}}} | T._Monat JJJJ}} lang= {{#switch: -|=de #default=de-AT
            }}
   }}

}}) }}

 {{#if: {{#invoke:Wikidata|claim|P348|P548|!Q3295609,Q51930650,Q2122918,Q21727724,Q1072356,Q6736813}} | 
Aktuelle Version claim|P348|P548|!Q3295609,Q51930650,Q2122918,Q21727724,Q1072356,Q6736813|references=ja}} {{#if: {{#invoke:Wikidata|claim|P348|P548|!Q3295609,Q51930650,Q2122918,Q21727724,Q1072356,Q6736813|qualifier=P577}} |
({{#invoke:Wikidata|claim|P348|P548|!Q3295609,Q51930650,Q2122918,Q21727724,Q1072356,Q6736813|qualifier=P577}}) }}}}}}

}}{{#ifeq: {{{AktuelleVorabVersion}}} | KEINE_ANGABE || {{#if: |

Aktuelle Vorabversion
({{#if: | Vorlage:Datum – die Form mit drei unbenannten Parametern oder anderen einzelnen Zeiteinheiten ist veraltet und wird nicht mehr unterstützt. Bitte gib das Datum einfach im Klartext an.
format {{{AktuelleVorabVersionFreigabeDatum}}} | {{#timefl:now|date}}}} {{{2}}} | T._Monat JJJJ}} lang= {{#switch: -|=de #default=de-AT
            }}
   }}

}}) }}

 {{#if: {{#invoke:Wikidata|claim|P348|P548|Q1072356,Q51930650,Q3295609,Q2122918,Q21727724}} | 
Aktuelle Vorabversion claim|P348|P548|Q1072356,Q51930650,Q3295609,Q2122918,Q21727724|references=ja}} {{#if: {{#invoke:Wikidata|claim|P348|P548|Q1072356,Q51930650,Q3295609,Q2122918,Q21727724|qualifier=P577}} |
({{#invoke:Wikidata|claim|P348|P548|Q1072356,Q51930650,Q3295609,Q2122918,Q21727724|qualifier=P577}}) }}}}}}

}}{{#if: |

Ausführungsumgebung
 {{#if: Linux, Windows und Mac OS X | 
Betriebssystem Linux, Windows und Mac OS X |
   {{#if: {{#invoke:Wikidata|claim|P306}} | 
Betriebssystem claim|P306|parameter=link|references=ja|list=, }}
   }}
 }}

}}{{#if: |

Programmier­sprache
 {{#if: {{#invoke:Wikidata|claim|P277}} | 
Programmier­sprache claim|P277|parameter=link|references=ja|list=, }}
 }}

}}{{#if: Compiler |

Kategorie Compiler

}}{{#if: proprietäre Software |

Lizenz proprietäre Software |
 {{#if: {{#invoke:Wikidata|claim|P275}} | 
Lizenz claim|P275|parameter=link|references=ja|list=, }}
 }}

}}{{#if: |

deutschsprachig faculty|}} | ja | nein }}

}}{{#if: |

Sonstiges {{{Sonstiges}}}Vorlage:Infobox Software/Wartung/Sonstiges

}}{{#if: software.intel.com |

software.intel.com |
 {{#if: {{#invoke:Wikidata|claim|P856|notdeprecated=1}} | 
{{#invoke: WLink | formatURL | {{#invoke:Wikidata|claim|P856|parameter=link|notdeprecated=1}}}}
 }}

}}{{#if: |

Dateien [[c:Category:Created with {{{Dateien}}}|{{{Dateien}}}]]

}}

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.<ref>software.intel.com</ref>

Kritik

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.

{{#ifeq: {{{vor}}}@@-@@{{{nach}}} | -@@-@@- | {{#if:trim|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.}} | {{#ifeq: {{#if:|{{{vor}}}|@#@}}{{#if:|{{{nach}}}|@#@}} | @#@@#@ | {{#ifeq: en | de | „{{#if:trim|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.}}“ | {{#invoke:Text|quoteUnquoted| 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. | en }} }} | {{#ifeq: {{#if:|{{{vor}}}|-}} | - | | {{{vor}}} }}{{#if:trim|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.}}{{ #ifeq: {{#if:|{{{nach}}}|-}} | - | | {{{nach}}} }} }} }}{{ #if: 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 || <ref>Agner’s CPU Blog</ref> }}

{{#if:

|

„{{{Latn}}}“{{#if: 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 || <ref>Agner’s CPU Blog</ref> }}

}}{{#if: 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.

|

„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.“{{#if: Agner Fog || <ref>Agner’s CPU Blog</ref> }}

}}
{{#if: Agner Fog |
– <templatestyles src="Person/styles.css" />{{#if:|{{{4}}} |}}{{#if:|{{{2}}} |}}{{#if:| {{{3}}} |}}{{#if:| „{{{6}}}“ |}}{{#if:trim|Agner Fog}}{{#if:| {{{5}}}|}}{{#if: | : {{#if:trim|}} }}<ref>Agner’s CPU Blog</ref>
|{{#if: 
|
{{#if:trim|}}<ref>Agner’s CPU Blog</ref>
}}
}}

{{#if: <ref>Agner’s CPU Blog</ref> |

{{#if: {{#invoke:Text|unstrip|<ref>Agner’s CPU Blog</ref>}}

        | }} }}{{#if: 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. | {{
   #if:  | {{#if: 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. |
   Vorlage:Zitat: Doppelangabe 1=Text=}}

}}| }}{{#if: | {{#if: Agner Fog |

   Vorlage:Zitat: Doppelangabe 2=Autor=}}

}}{{#if: | {{#if: |

   Vorlage:Zitat: Doppelangabe 3=Quelle=}}

}}{{#if: | {{#if: |

   Vorlage:Zitat: Doppelangabe Umschrift=Latn=}}

}}{{#if: en | {{#if: |

   Vorlage:Zitat: Doppelangabe Sprache=lang=}}

}}{{#if: 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. | {{#if: |

   Vorlage:Zitat: Doppelangabe Übersetzung=de=}}

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

{{#ifeq: {{{vor}}}@@-@@{{{nach}}} | -@@-@@- | {{#if:trim|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.}} | {{#ifeq: {{#if:|{{{vor}}}|@#@}}{{#if:|{{{nach}}}|@#@}} | @#@@#@ | {{#ifeq: en | de | „{{#if:trim|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.}}“ | {{#invoke:Text|quoteUnquoted| 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. | en }} }} | {{#ifeq: {{#if:|{{{vor}}}|-}} | - | | {{{vor}}} }}{{#if:trim|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.}}{{ #ifeq: {{#if:|{{{nach}}}|-}} | - | | {{{nach}}} }} }} }}{{ #if: Intel || <ref>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') </ref> }}

{{#if:

|

„{{{Latn}}}“{{#if: Intel || <ref>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') </ref> }}

}}{{#if:

|

„{{{de}}}“{{#if: Intel || <ref>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') </ref> }}

}}
{{#if: Intel |
– <templatestyles src="Person/styles.css" />{{#if:|{{{4}}} |}}{{#if:|{{{2}}} |}}{{#if:| {{{3}}} |}}{{#if:| „{{{6}}}“ |}}{{#if:trim|Intel}}{{#if:| {{{5}}}|}}{{#if: | : }}<ref>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') </ref>
|{{#if: 
|
<ref>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') </ref>
}}
}}

{{#if: <ref>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') </ref> |

{{#if: {{#invoke:Text|unstrip|<ref>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') </ref>}}

        | }} }}{{#if: 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. | {{
   #if:  | {{#if: 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. |
   Vorlage:Zitat: Doppelangabe 1=Text=}}

}}| }}{{#if: | {{#if: Intel |

   Vorlage:Zitat: Doppelangabe 2=Autor=}}

}}{{#if: | {{#if: |

   Vorlage:Zitat: Doppelangabe 3=Quelle=}}

}}{{#if: | {{#if: |

   Vorlage:Zitat: Doppelangabe Umschrift=Latn=}}

}}{{#if: en | {{#if: |

   Vorlage:Zitat: Doppelangabe Sprache=lang=}}

}}{{#if: | {{#if: |

   Vorlage:Zitat: Doppelangabe Übersetzung=de=}}

}}

Siehe auch

Einzelnachweise

<references />