Intel C++ compiler
Intel C++ Compiler | |
---|---|
Тип | Компилятор |
Разработчик | Intel |
Операционные системы | Linux, Microsoft Windows и Mac OS X |
Аппаратные платформы | x86, x86-64, IA-64 |
Последняя версия | 11.1 (23 июня 2010) |
Репозиторий | github.com/intel/llvm |
Лицензия | Проприетарная |
Сайт | software.intel.com/en-us/intel-compilers |
Intel C++ compiler — оптимизирующий компилятор, разрабатываемый фирмой Intel для процессоров семейств x86, x86-64 и IA-64. Главным достоинством компилятора являются выполняемые им высокоуровневые, а также целевые оптимизации под процессоры Intel. Компилятор работает под ОС linux, windows, mac os x.
Основные возможности:
- Высокоуровневая оптимизация
- Межпроцедурная оптимизация
- Автоматическое распараллеливание кода
- Векторизация для SSE, SSE2, SSE3, SSE4
- Оптимизация с учетом профильной информации (англ. Profile-guided optimization)
Компилятор поддерживает стандарт OpenMP 3.0 для написания параллельных программ. Также содержит модификацию OpenMP под названием Cluster OpenMP, при помощи которой можно запускать OpenMP приложения на кластерах используя MPI.
Intel C++ Compiler использует фронтэнд (часть компилятора, занимающаяся синтаксическим анализом компилируемой программы) от Edison Design Group. Этот же фронтэнд используется компиляторами SGI MIPSpro, Comeau C++, Portland Group.
Данный компилятор широко используется для компиляции бенчмарков SPEC CPU.
Существует 4 продукта от Intel, включающих компилятор: Intel Parallel Studio, Intel C++ Compiler Professional Edition, Intel Compiler Suite package, Intel Cluster Toolkit (Compiler Edition).
К недостаткам Linux версии компилятора можно отнести частичную несовместимость с gnu-расширениями языка Си (поддерживаемые компилятором GCC), что может вызвать проблемы при компиляции некоторых программ.
Поддерживаются языки C, C++, Fortran.
Экспериментальные варианты
Публиковались следующие экспериментальные варианты компилятора:
- Intel STM Compiler Prototype Edition от 17 сентября 2007. Поддержка Software Transactional Memory (STM). Выпущен для Linux и Windows, только для IA-32 (x86-процессоров).
- Intel Concurrent Collections for C/C++ 0.3 от сентября 2008. Содержит механизмы, облегчающие написание параллельных C++ программ.
Основные флаги
Windows | Linux, MacOSX | Описание |
---|---|---|
/Od | -O0 | Отключить оптимизации |
/O1 | -O1 | Оптимизировать для минимизации размера исполняемого файла |
/O2 | -O2 | Оптимизировать для повышения скорости. Включены некоторые оптимизации |
/O3 | -O3 | Включить все оптимизации из O2. Также выполнить интенсивные оптимизации циклов |
/Oip | -Oip | Включить пофайловую межпроцедурную оптимизацию[1] |
/Oipo | -Oipo | Включить глобальную межпроцедурную оптимизацию[2] |
/QxO | -xO | Разрешить использование SSE3, SSE2 и SSE расширений для процессоров производства любых компаний |
/fast | -fast | "Быстрый режим". Эквивалентен опциям "/O3 /Qipo /QxHost /no-prec-div" на Windows и "-O3 -ipo -static -xHOST -no-prec-div" на Linux. Заметьте, флаг "-xHOST" означает оптимизацию для того процессора, на котором запущен компилятор. [3] |
/Qprof-gen | -prof_gen | Создать инструментированную версию программы, которая соберет профиль исполнения |
/Qprof-use | -prof_use | Воспользоваться профильной информацией от запусков программы собранной с флагом prof_gen. |
Примечания
См. также
Ссылки
Это заготовка статьи о программном обеспечении. Помогите Википедии, дополнив её. |