Intel C++ Compiler

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до: навігація, пошук

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[1] для мультипроцесорних апаратних систем та кластерів. Всі компілятори Intel підтримують OpenMP. Компілятор також сумісний з GCC та компілятором від Microsoft та має додаткові можливості, такі як наприклад автоматична векторизація, також підтримує набір SIMD інструкцій та розширень MMX, SSE, SSE2, SSE3, SSE4 і AVX процесора. Для архітектур x86, x64 і IA64 під GNU/Linux у випадку некомерційного використання компілятор надається безкоштовно[2].

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

Компілятори 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[3]. Після виявлення такого факту відбулись певні судові процеси з позовами від 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.[4]

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

  • 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.

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

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

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