Intel C++ compiler

Материал из Википедии — свободной энциклопедии
Это старая версия этой страницы, сохранённая A5b (обсуждение | вклад) в 11:56, 26 декабря 2010 (Основные флаги: + ip + ipo). Она может серьёзно отличаться от текущей версии.
Перейти к навигации Перейти к поиску
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.

Основные возможности:

Компилятор поддерживает стандарт 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 /xT /no-prec-div" на Windows и "-O3 -ipo -static -xHOST -no-prec-div" на Linux. Заметьте, флаг "-xHOST" означает оптимизацию для того процессора, на котором запущен компилятор.
/Qprof-gen -prof_gen Создать инструментированную версию программы, которая соберет профиль исполнения
/Qprof-use -prof_use Воспользоваться профильной информацией от запусков программы собранной с флагом prof_gen.

См. также

Ссылки

Intel® C++ Compiler

  1. http://software.intel.com/sites/products/documentation/studio/composer/en-us/2011/compiler_c/copts/common_options/option_ip.htm
  2. http://software.intel.com/sites/products/documentation/studio/composer/en-us/2011/compiler_c/copts/common_options/option_ipo.htm