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[4] для мультипроцесорних апаратних систем та кластерів. Всі компілятори Intel підтримують OpenMP. Компілятор також сумісний з GCC та компілятором від Microsoft та має додаткові можливості, такі як наприклад автоматична векторизація, також підтримує набір SIMD інструкцій та розширень MMX, SSE, SSE2, SSE3, SSE4 і AVX процесора. До 2015 року для архітектур x86, x64 і IA64 під GNU/Linux у випадку некомерційного використання компілятор надавався безкоштовно[5]. З 2015 року таку практику припинено.
Тип | компілятор |
---|---|
Розробник | Intel |
Стабільний випуск | 18.0 (XE 2018) (26 січня 2017[1]) |
Репозиторій | github.com/intel/llvm |
Операційна система | Windows, macOS, Linux |
Ліцензія | власницька, безплатна[2] |
Вебсайт | software.intel.com/en-us/intel-compilers |
Тип | компілятор |
---|---|
Розробник | Intel |
Стабільний випуск | 14.0.1 (12 листопада 2013[3]) |
Репозиторій | github.com/intel/llvm |
Операційна система | Windows, OS X |
Ліцензія | Trialware |
Вебсайт | software.intel.com/c-compiler-android |
Огляд
Компілятори 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.
Джерела
- Intel Developer Zone: Intel Compilers
- Stephen Blair-Chappell, Andrew Stokes, Parallel Programming with Intel Parallel Studio XE, John Wiley & Sons, 19 квіт. 2012 - 432 стор.
Див. також
- Intel Parallel Studio XE
- Intel Cluster Studio XE
- Intel Fortran Compiler
- AMD Optimizing C/C++ Compiler
- Intel Debugger
- Cilk Plus
- Threading Building Blocks
- Integrated Performance Primitives
- Math Kernel Library
- VTune Amplifier
Примітки
- Intel C++ Compiler 18.0 Release Notes.
- No Cost Options for Intel Parallel Studio XE, Support yourself, Royalty-Free.
- Intel C++ Compiler for Android documentation.
- Intel Developer Zone: Intel Compilers
- Intel Developer Zone: Non-Commercial Software Development
- Agner Fog Will Intel be forced to remove the "cripple AMD" function from their compiler? Date: 2009-12-30 10:22
- Optimization Notice(англ.)