Разработчик (и) | Intel |
---|---|
Стабильный выпуск | 19.1.3 (XE 2020) / 20 октября 2020 г.; 3 дня назад (2020-10-20) |
Операционная система | Linux, Windows, OS X |
Тип | Компилятор |
Лицензия | Проприетарное, бесплатное ПО |
Веб-сайт | программное обеспечение.intel.com / en-us / intel-compilers |
Intel Fortran Compiler, также известный как IFORT, это группа компиляторов Fortran из Intel для Windows, OS X, и Linux.
Компиляторы генерируют код для IA-32 и Intel 64 процессоры и некоторые не Intel, но совместимые процессоры, например, некоторые процессоры AMD . Конкретный выпуск компилятора (11.1) остается доступным для разработки приложений на базе Linux для процессоров IA-64 (Itanium 2 ). В Windows он известен как Intel Visual Fortran. В OS X и Linux он известен как Intel Fortran.
Последняя версия компилятора продолжает поддерживать сопроцессор Intel Xeon Phi и возможности набора инструкций архитектуры Intel посредством автоматической векторизации, которая может позволить приложениям используйте SSE, SSE2, SSE3, SSSE3, SSE4 и AVX SIMD инструкции. Использование таких инструкций через компилятор может привести к повышению производительности приложений в некоторых приложениях, работающих на архитектурах IA-32 и Intel 64, по сравнению с приложениями, созданными с помощью компиляторов, которые не поддерживают эти инструкции.
Intel Fortran также продолжает поддерживать OpenMP 4.0, автоматическое распараллеливание для симметричной многопроцессорной обработки, почти весь стандарт Fortran 2003 и большую часть Стандарт Fortran 2008, включающий Coarray Fortran, определяемый пользователем ввод / вывод, BLOCK и подмодули. Для получения дополнительной информации о стандартах Fortran доступен ряд ресурсов, например запись в Википедии Fortran или вики-страница Fortran. При использовании с инструментами кластера Intel (см. «Описание упаковки» ниже) компилятор также может автоматически генерировать вызовы интерфейса передачи сообщений для многопроцессорной обработки распределенной памяти из директив OpenMP.
Компиляторы Intel оптимизированы для компьютерных систем, использующих процессоры, поддерживающие архитектуры Intel. Они предназначены для минимизации простоев и создания кода, который выполняется за минимально возможное количество циклов. Компиляторы Intel Fortran поддерживают три отдельных высокоуровневых метода оптимизации скомпилированной программы: межпроцедурная оптимизация (IPO), профильная оптимизация (PGO) и другие высокоуровневые оптимизации (HLO). Они также поддерживают основанный на директивах подход к выгрузке приложений на сопроцессоры Intel, такие как сопроцессор Intel Xeon Phi.
Межпроцедурная оптимизация применяет типичные оптимизации компилятора (например, распространение констант), но использует более широкую область действия, которая может включать несколько процедур, несколько файлов или всю программу.
Что касается профильного управления Оптимизация, компилятор генерирует набор данных, связанных с производительностью, используя приложение с репрезентативными рабочими нагрузками, который затем анализирует, чтобы определить, какие части приложения выполняются чаще и реже. Компилятор использует эти данные для организации выполнения приложения с целью оптимизации производительности в зависимости от того, как приложение фактически используется. В этом отличие от IPO, которое оптимизирует приложения в соответствии с логическим потоком приложения независимо от рабочих нагрузок. Их можно объединить, чтобы обеспечить оптимизацию на основе рабочей нагрузки, в рамках которой оптимизируется логический поток. Таким образом, любая оптимизация может извлечь выгоду из обратной связи на основе профиля, поскольку они меньше зависят от эвристики при принятии решений о компиляции.
Оптимизация высокого уровня - это оптимизация версии программы, которая более точно представляет исходный код. Это включает обмен циклами, объединение циклов, развертывание цикла, распределение циклов, предварительную выборку данных и многое другое.
Компилятор Intel Fortran поддерживает все функции стандартов Fortran 90, Fortran 95, Fortran 2003 и большую часть Fortran 2008. Он также поддерживает некоторые черновые возможности Fortran 2018. Кроме того, он поддерживает различные расширения, имеющиеся в VAX Fortran и Compaq Visual Fortran.
Неполный список элементов из стандарта Fortran 2003, поддерживаемого Intel Fortran:
Частичный список элементов из стандарта Fortran 2008, поддерживаемого Intel Fortran:
Fortran 2018, в настоящее время черновая версия, включает в себя дальнейшее взаимодействие между Fortran и C. Intel Fortran поддерживает черновик Fortran 2018 начиная с версии 16.0.
Компилятор Intel Fortran доступен как часть пакета Intel Parallel Studio XE 2016, который ориентирован на разработку моделей параллелизма в прикладном программном обеспечении. Он также включает Intel C ++, Intel Math Kernel Library, Intel Integrated Performance Primitives, Intel Data Analytics Acceleration Library и инструменты анализа производительности, такие как Intel VTune Amplifier и Intel Inspector. Существует три формы Parallel Studio XE: Composer, Professional и Cluster. Composer Edition включает компиляторы C ++ и / или Fortran, библиотеки производительности и поддержку параллельных моделей. Professional Edition добавляет инструменты анализа, которые помогают в отладке и настройке параллельных приложений. Cluster Edition добавляет поддержку разработки программного обеспечения для компьютерные кластеры. Включает все вышеперечисленное плюс основанная на стандартах библиотека MPI, инструмент профилирования и анализа MPI-коммуникаций, инструменты проверки и настройки MPI и средство проверки кластеров.
Версия компилятора | Дата выпуска | Основные новые функции |
---|---|---|
Intel Fortran Compiler 8.0 | 15 декабря 2003 г. | Предварительно скомпилированные заголовки, инструменты покрытия кода. |
Intel Fortran Compiler 8.1 | сентябрь 2004 г. | Архитектура AMD64 (для Linux). |
Intel Fortran Compiler 9.0 | 14 июня 2005 г. | Архитектура AMD64 (для Windows), программная оптимизация спекулятивных предварительных вычислений (SSP), улучшенные отчеты по оптимизации цикла. |
Intel Fortran Compiler 10.0 | 5 июня 2007 г. | Улучшенный распараллеливатель и векторизатор, Streaming SIMD Extensions 4 (SSE4 ), новые и улучшенные отчеты по оптимизации для расширенного цикла преобразования, новая оптимизированная реализация обработки исключений. |
Intel Fortran Compiler 10.1 | 7 ноября 2007 г. | Новая библиотека времени выполнения, совместимая с OpenMP *. Чтобы использовать новые библиотеки, вам необходимо использовать новую опцию «-Qopenmp / Qopenmp-lib: compat» в Windows и «-openmp -openmp-lib: compat» в Linux. Эта версия компилятора Intel поддерживает больше встроенных функций из Microsoft Visual Studio 2005. Поддержка VS2008 - командная строка только в этом выпуске. |
Intel Fortran Compiler 11.0 | ноябрь 2008 г. | Дополнительная поддержка Fortran 2003. Поддержка OpenMP 3.0. Source Checker для статической памяти / параллельной диагностики. Коммерческие лицензии для версии Windows включают Microsoft Visual Studio 2005 Premier Partner Edition. |
Intel Fortran Compiler 11.1 | 23 июня 2009 г. | Поддержка последних инструкций Intel SSE, AVX и AES. Дополнительная поддержка Fortran 2003. Поддержка последней версии Intel MKL (входит в состав компиляторов). Коммерческие лицензии для версии Windows включают Microsoft Visual Studio 2008 Shell и библиотеки. |
Intel Fortran Composer XE 2011 до обновления 5 (компилятор 12.0) | 7 ноября 2010 г. | Coarray Fortran, дополнительно 2003 (подпрограммы FINAL, ключевое слово GENERIC) и 2008 (Coarrays, CODIMENSION, SYNC ALL, SYNC IMAGES, SYNC MEMORY, CRITICAL, LOCK, ERROR STOP, ALLOCATE / DEALLOCATE) |
Intel Fortran Composer XE 2011 Update 6 и выше (компилятор 12.1) | 8 сентября 2011 г. | OpenMP 3.1, дополнительная поддержка стандартов 2003 (ALLOCATE с SOURCE =, полиморфный источник) и 2008, версия для Windows поставляется с Visual Studio 2010 Shell. |
Intel Fortran Composer XE 2013 (компилятор 13.0) | 5 сентября 2012 г. | Поддержка сопроцессоров Intel Xeon Phi на базе Linux, поддержка Microsoft Visual Studio 12 (Desktop), поддержка gcc 4.7, поддержка инструкций Intel AVX 2, обновления существующих функций, направленные на повышение производительности приложений. Постоянная доступность оболочки Visual Studio 2010 для версий Windows. |
Intel Fortran Composer XE 2013 SP1 (компилятор 14.0) | 31 июля 2013 г. | Ввод-вывод производного типа, определяемый пользователем; Директивы, пункты и процедуры OpenMP; крупы; Поддержка параллельной сборки Microsoft Visual Studio |
Intel Fortran Composer XE 2013 SP1 Update 1 (компилятор 14.0.1) | 18 октября 2013 г. | Японская локализация версии 14.0; Windows 8.1 и Xcode 5.0 поддерживают |
Intel Fortran Composer XE 2015 (компилятор 15.0) | 5 августа 2014 г. | Полная поддержка Fortran 2003; БЛОК из Fortran 2008; EXECUTE_COMMAND_LINE из Fortran 2008; Новый отчет по оптимизации содержит аннотации к источнику из Visual Studio |
Intel Fortran Composer XE 2015 Update 1 (компилятор 15.0.1) | 30 октября 2014 г. | Поддержка AVX-512 ; Японская локализация; Снижение MIN / MAX в директиве цикла SIMD |
Intel Fortran Compiler 16.0, часть Intel Parallel Studio XE 2016 | 25 августа 2015 г. | Субмодули из Fortran 2008, улучшенная совместимость Fortran с C из проекта Fortran 2018, расширения OpenMP 4.1 |
Intel Fortran Compiler 17.0 | 4 марта 2016 г. | Расширения OpenMP 4.5 |
Intel Fortran Compiler 18.0 | 17 января, 2017 | Полная поддержка Fortran 2008 |
Intel Fortran Compiler 19.0 | 12 сентября 2018 г. | Некоторые функции Fortran 2018 |
Intel компилятор предоставляет отладочную информацию, которая является стандартной для обычных отладчиков (DWARF 2 в Linux, аналогично gdb и COFF для Windows). Флаги для компиляции с отладочной информацией: / Ziв Windows и -gв Linux. Отладка выполняется в Windows с помощью отладчика Visual Studio и в Linux с помощью gdb.
Хотя компилятор Intel может генерировать gprof-совместимый профилирующий вывод, Intel также предоставляет общесистемный статистический профилировщик уровня ядра в виде отдельного продукта под названием VTune. VTune имеет простой в использовании графический интерфейс (интегрирован в Visual Studio для Windows, Eclipse для Linux), а также интерфейс командной строки. В дополнение к профилировщику VTune существует Intel Advisor, который специализируется на оптимизации векторизации, а также инструменты для проектирования потоков и создания прототипов.
Intel также предлагает инструмент для обнаружения ошибок памяти и потоков, который называется Intel Inspector XE. Что касается ошибок памяти, это помогает обнаруживать утечки памяти, повреждение памяти, выделение / отмену выделения несоответствий API и несогласованное использование памяти API. Что касается ошибок потоковой передачи, он помогает обнаруживать скачки данных (как в куче, так и в стеке), взаимоблокировки и ошибки API потоков и синхронизации.