Intel C++ Compiler

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до навігації Перейти до пошуку
Intel C++ Compiler
Тип компілятор
Розробник Intel
Стабільний випуск 18.0 (XE 2018) (26 січня 2017; 7 років тому (2017-01-26)[1])
Операційна система Windows, macOS, Linux
Ліцензія власницька, безплатна[2]
Репозиторій github.com/intel/llvm
Вебсайт software.intel.com/en-us/intel-compilers
Intel C++ Compiler for Android
Тип компілятор
Розробник Intel
Стабільний випуск 14.0.1 (12 листопада 2013; 10 років тому (2013-11-12)[3])
Операційна система Windows, OS X
Ліцензія Trialware
Репозиторій github.com/intel/llvm
Вебсайт software.intel.com/c-compiler-android

Intel C++ Compiler (icpc, icc) — оптимізувальний компілятор для мов програмування C та C++, власницьке програмне забезпечення, розроблене компанією Intel. Надається під різними комерційними та некомерційними ліцензіями і разом з Intel Fortran Compiler є ключовою складовою набору засобів розробки програм від Intel (Intel Software Development Tools). Це популярний компілятор для комерційних та академічних програм та апаратних драйверів у сфері високопродуктивних обчислень, для різноманітних операційних систем, зокрема для багатьох дистрибутивів GNU/Linux та двох власницьких систем, - Mac OS X та Microsoft Windows під процесорні архітектури, IA-32, x86-64 (Intel 64, AMD64) та Itanium. Входить до складу інтегрованих середовищ розробки програмних засобів Intel Parallel Studio XE and Intel Cluster Studio XE[4] для мультипроцесорних апаратних систем та кластерів. Всі компілятори Intel підтримують OpenMP. Компілятор також сумісний з GCC та компілятором від Microsoft та має додаткові можливості, такі як наприклад автоматична векторизація, також підтримує набір SIMD інструкцій та розширень MMX, SSE, SSE2, SSE3, SSE4 і AVX процесора. До 2015 року для архітектур x86, x64 і IA64 під GNU/Linux у випадку некомерційного використання компілятор надавався безкоштовно[5]. З 2015 року таку практику припинено.

Огляд[ред. | ред. код]

Компілятори Intel дають можливість для написання векторизованого і паралельного коду, який можна використовувати на IA-32 та x86-64 архітектурах і також підтримують OpenMP, та автоматичне розпаралелювання. З додатковими бібліотеками Cluster OpenMP компілятор також може автоматично генерувати Message Passing Interface запити до розподіленої пам'яті багатопроцесорної кластерної архітектури за допомогою звичайних директив OpenMP в коді.

Intel C++ сумісний з Microsoft Visual C++ на Windows та інтегрується в середовище розробки Microsoft Visual Studio. У Linux та OS X , компілятор сумісний з GNU Compiler Collection (GCC). Існує також Intel C++ Compiler для Android під Windows, OS X та Linux.

Історія[ред. | ред. код]

До версії 11.2 компілятори icc та ifort давали оптимізований код для IA- 32 і Intel 64 архітектур тільки на справжньому "оригінальному" (genuine) процесорі Intel, перевіряючи "справжність" за допомогою вбудованої в мікропроцесор Intel команди і давали не-оптимізований код на сумісних процесорах, наприклад процесорах від AMD[6]. Після виявлення такого факту відбулись певні судові процеси з позовами від AMD впродовж 2005-2009. На вимогу Федеральної торгової комісії США (FTC) в 2010 році Intel додав повідомлення, яке роз'яснює особливості оптимізації компілятора і вказує, що однаковий рівень оптимізації компілятора на мікропроцесорах не від Intel порівняно з "оригінальним" мікропроцесором Intel не гарантується:

"Компілятори Intel можуть чи не можуть оптимізувати код до схожого рівня для не оригінальних мікропроцесорів у випадку оптимізацій, які не є унікальними для мікропроцесорів Intel. Ці оптимізації включають SSE2, SSE3, та інструкції SSSE3 набори та інші оптимізації. Intel не гарантує доступність, функціональність, або ефективність будь-якої оптимізації на мікропроцесорах, виготовлених не компанією Intel. Залежні від мікропроцесора оптимізації в даних компіляторах призначені для використання тільки з мікропроцесорами Intel. Деякі оптимізації, не характерні для мікроархітектури Intel зарезервовані для мікропроцесорів Intel. Будь ласка, зверніться до актуальних довідників користувача та посібника продукту для отримання додаткової інформації про конкретні наборів інструкцій, що охоплюються цим повідомленням.
Оригінальний текст (англ.)
Intel's compilers 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 SSE2, SSE3, and SSSE3 instruction sets and other optimizations. Intel does not guarantee the availability, functionality, or effectiveness of any optimization on microprocessors not manufactured by Intel. Microprocessor-dependent optimizations in this product are intended for use with Intel microprocessors. Certain optimizations not specific to Intel microarchitecture are reserved for Intel microprocessors. Please refer to the applicable product User and Reference Guides for more information regarding the specific instruction sets covered by this notice.[7]

Архітектури[ред. | ред. код]

  • IA-32
  • x86-64 (Intel 64 and AMD64)
  • Intel Xeon Phi coprocessor
  • IA-64 (Itanium 2)

Структура[ред. | ред. код]

Середовища розробки[ред. | ред. код]

Intel C++ компілятор інтегрується автоматично в середовище розробки Microsoft Visual Studio під Windows. Під GNU/Linux можна використовувати різні набори компіляторів, в тому числі і від Intel з допомогою Eclipse IDE.

Джерела[ред. | ред. код]

Див. також[ред. | ред. код]

Примітки[ред. | ред. код]

  1. Intel C++ Compiler 18.0 Release Notes. Архів оригіналу за 4 травня 2018. Процитовано 8 травня 2018.
  2. No Cost Options for Intel Parallel Studio XE, Support yourself, Royalty-Free. Архів оригіналу за 17 квітня 2016. Процитовано 21 травня 2017.
  3. Intel C++ Compiler for Android documentation. Архів оригіналу за 16 січня 2014. Процитовано 21 травня 2017.
  4. Intel Developer Zone: Intel Compilers. Архів оригіналу за 9 квітня 2014. Процитовано 27 квітня 2014.
  5. Intel Developer Zone: Non-Commercial Software Development. Архів оригіналу за 27 березня 2014. Процитовано 27 квітня 2014.
  6. Agner Fog Will Intel be forced to remove the "cripple AMD" function from their compiler? Date: 2009-12-30 10:22. Архів оригіналу за 15 лютого 2014. Процитовано 27 квітня 2014.
  7. Optimization Notice(англ.)