Překladač Intel C++

Překladač Intel C++ (anglicky Intel C++ Compiler, známý též pod jmény icc nebo icl) popisuje skupinu překladačů jazyka C/C++ od společnosti Intel. Tyto překladače jsou k dispozici pro platformy Linux, Microsoft Windows a macOS. Podporují kompilace pro architektury procesorů IA-32, Intel 64, Itanium 2 a XScale a to včetně nových sad instrukcí, které tyto procesory obsahují (včetně SSE, SSE2 a SSE3 SIMD a již starší instrukce MMX a MMX 2). Překladače Intel C++ také podporují jak OpenMP, tak i automatickou paralelizaci symetrického multiprocesoringu.

Překladač Intel C++
VývojářIntel
Aktuální verze2021.4.0 (9. září 2021[1])
Typ softwarupřekladač
LicenceApache License, Version 2.0
Websoftware.intel.com/en-us/intel-compilers
Některá data mohou pocházet z datové položky.

Tyto překladače patří do rodiny překladačů tzv. Edison Design Group, ve které jsou společnosti jako SGI MIPSpro, Comeau C++, Portland Group a další. Jsou používány při testování výkonu procesorů jako je SPEC CPU, benchmark pro architektury IA-32, x86-64 a Itanium 2.

Optimalizace

Intel stále pracuje na optimalizaci kódu překladačů pro svůj hardware za účelem odladění chyb a kvůli co možná nejnižšímu vytížení procesoru. Intel C++ Compiler podporuje tři základní techniky pro optimalizaci kompilovaného programu. Jsou to: optimalizace mezi procedurami „Interprocedural optimization“ (IPO), optimalizace v závislosti na profilu „Profile-Guided Optimization“ (PGO) a vysokoúrovňové optimalizace „High Level Optimizations“ (HLO).

Jazyky

Balíček překladačů společnosti Intel se zaměřuje hlavně na jazyky C, C++, a Fortran.

Podporované architektury

Verze

Některé důležité aktualizace do listopadu 2007:

Verze kompilátoru Datum vydání Významné změny
Intel C++ Compiler 10.17. listopad 2007Nová knihovna OpenMP*: při použití této knihovny je možné používat knihovny vytvořené ve Visual C++. Pro použití těchto nových knihoven je nutné zavést příkaz „-Qopenmp /Qopenmp-lib:compat“ ve Windows či „-openmp -openmp-lib:compat“ v systému Linux
Intel C++ Compiler 10.05. červen 2007Optimalizace překladačů pro vícejádrové procesory Intel.
Intel C++ Compiler 8.1 ?Podpora architektury AMD64 (pro Linux).
Intel C++ Compiler 7.1 ?Částečná podpora pro Intel Pentium 4 s (SSE3).

Experimentální a Alfa verze

Pro doplnění – byly vydány i tyto Experimentální verze:

Verze kompilátoru Datum vydání Významné změny
Kompilátor Intel STM Prototype Edition17. září 2007Tato experimentální verze kompilátoru Intel přináší podporu pro „Software Transactional Memory“ (STM). Tato verze STM kompilátoru je napsaná pro operační systémy Linux a Windows, produkuje 32bitový kód pro procesory x86 (Intel a AMD). Intel zde přišel s myšlenkou ulehčení programování vícevláknových aplikací. STM kompilátor vyžaduje předchozí instalaci kompilátoru Intel.

Přepínače a parametry

Windows Linux Komentář
/Od -O0 Bez optimalizace
/O1 -O1 Optimalizace velikosti
/O2 -O2 Optimalizace rychlosti
/O3 -O3 Nastaví stejné optimalizace jako O2, ale přidává optimalizaci „intensive loop“
/fast -fast Zkratka. Ve Windows má stejnou funkci jako „/O3 /Qipo /xT /no-prec-div“ v Linuxu „-O3 -ipo -static -xT -no-prec-div“. Parametr (-xT) se mění v závislosti na verzi kompilátoru. Tato zkratka je tedy užitečná při vydávání dalších verzí programu.

Ladění

V kompilátoru Intel jsou ladící prvky ze standardních debuggerů (DWARF 2 pod Linuxem, podobný gdb a COFF ve Windows). Parametry pro kompilaci s ladícím režimem jsou /Zi ve Windows a -g v Linuxu.

Intel také dodává vlastní debugger nazvaný idb, který může běžet jak pod dbx tak i v příkazovém řádku kompatibilním s gdb.

Intel poskytuje profilovací program na úrovni jádra s názvem VTune. VTune má uživatelsky přívětivé GUI (integrováno ve Visual Studiu pro Windows a v Eclipse pro Linux) a také možnost ovládat ho z příkazového řádku.

Reference

V tomto článku byl použit překlad textu z článku Intel C++ Compiler na anglické Wikipedii.

  1. Intel Corporation. Intel® oneAPI DPC++/C++ Compiler [online]. Intel, 2020-12-16 [cit. 2021-11-15]. Dostupné online. (anglicky)

Externí odkazy

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.