Компилятор Intel Fortran

Группа компиляторов Fortran от Intel
Компилятор Intel Fortran
Другие имена
  • если
Разработчик(и)Интел
Предварительный релиз
2023.2.1 [1] / 28 июля 2023 г. ; 14 месяцев назад ( 2023-07-28 )
Операционная системаLinux , Windows
ТипКомпилятор
ЛицензияБесплатное ПО , Необязательная приоритетная поддержка
Веб-сайтSoftware.intel.com/content/www/us/en/develop/tools/oneapi/comComponents/fortran-compiler.html
Классический компилятор Intel Fortran
Другие имена
  • ифорт
Разработчик(и)Интел
Стабильный релиз
2021.10.0 Сборка 20230609_000000 [1] / 28 июля 2023 г. ; 14 месяцев назад ( 2023-07-28 )
Операционная системаLinux , Windows , MacOS
ТипКомпилятор
ЛицензияБесплатное ПО , Необязательная приоритетная поддержка
Веб-сайтSoftware.intel.com/content/www/us/en/develop/tools/oneapi/comComponents/fortran-compiler.html

Intel Fortran Compiler , как часть набора инструментов Intel OneAPI HPC, представляет собой группу компиляторов Fortran от Intel для Windows , macOS и Linux .

Обзор

Компиляторы генерируют код для процессоров IA-32 и Intel 64 и некоторых не-Intel, но совместимых процессоров, таких как некоторые процессоры AMD . Определенная версия компилятора (11.1) остается доступной для разработки приложений на базе Linux для процессоров IA-64 ( Itanium 2 ). В Windows он известен как Intel Visual Fortran. [2] В macOS и Linux он известен как Intel Fortran. В 2020 году существующий компилятор был переименован в «Intel Fortran Compiler Classic» (ifort), и был представлен новый Intel Fortran Compiler для oneAPI (ifx), поддерживающий разгрузку GPU.

Выпуск Classic compiler 2021 года добавляет полную поддержку Fortran через стандарт 2018 года, полный OpenMP* 4.5 и Initial Open MP 5.1 только для CPU. Бета-компилятор 2021 года фокусируется на OpenMP для GPU Offload. При использовании с набором инструментов Intel OneAPI HPC (см. «Описание упаковки» ниже) компилятор также может автоматически генерировать вызовы интерфейса передачи сообщений для многопроцессорной обработки распределенной памяти из директив OpenMP.

Дополнительную информацию о стандартах Fortran можно найти на ряде ресурсов, например, в статье Wikipedia Fortran или на странице Fortran wiki.

В пакет Intel Fortran входит Intel Array Visualizer — инструмент визуализации для научных форматов, таких как FITS и netCDF , который может создавать графики xy, контурные графики и графики изображений, а также сохранять их в других форматах. [3] [4]

Оптимизации

Компиляторы Intel оптимизированы [5] для компьютерных систем, использующих процессоры, поддерживающие архитектуры Intel. Они разработаны для минимизации остановок и создания кода, который выполняется за наименьшее возможное количество циклов. Компиляторы Intel Fortran поддерживают три отдельных высокоуровневых метода оптимизации скомпилированной программы: межпроцедурная оптимизация (IPO), оптимизация с профилированием (PGO) и другие высокоуровневые оптимизации (HLO).

Межпроцедурная оптимизация применяет типичные оптимизации компилятора (например, распространение констант), но использует более широкую область действия, которая может включать несколько процедур, несколько файлов или всю программу. [6]

Что касается оптимизации на основе профиля , компилятор генерирует набор данных с информацией, связанной с производительностью, используя приложение с репрезентативными рабочими нагрузками, которые он затем анализирует, чтобы найти, какие части приложения выполняются чаще и реже. Компилятор использует эти данные для организации выполнения приложения с целью оптимизации производительности на основе того, как приложение фактически используется. Это отличается от IPO, который оптимизирует приложения в соответствии с логическим потоком приложения независимо от рабочих нагрузок. Эти два метода можно объединить для предоставления оптимизаций на основе рабочей нагрузки, в рамках которых оптимизируется логический поток. Таким образом, все оптимизации могут выиграть от обратной связи на основе профиля, поскольку они меньше зависят от эвристики при принятии решений о компиляции.

Оптимизации высокого уровня — это оптимизации, выполняемые в версии программы, которая более точно представляет исходный код. Сюда входит циклический обмен , циклическое слияние , циклическая развертка , распределение циклов , предварительная выборка данных и многое другое. [7]

Поддержка стандартов

Intel Fortran Compiler Classic полностью поддерживает Fortran до стандарта 2018. Intel Fortran Compiler (Beta) полностью поддерживает Fortran 77/90/95 и частично поддерживает стандарт Fortran 2003.

Архитектура

Описание упаковки

Компиляторы доступны отдельно от Intel и из репозиториев APT и Yum. Они также доступны в Intel oneAPI HPC Toolkit, который включает другие инструменты сборки, такие как библиотеки и инструменты анализа для проверки ошибок и анализа производительности. Контейнеры с компиляторами находятся на Docker Hub.

История с 2003 года

Версия компилятораДата выпускаОсновные новые функции
Компилятор Intel Fortran 8.015 декабря 2003 г.Предварительно скомпилированные заголовки, инструменты покрытия кода.
Компилятор Intel Fortran 8.1Сентябрь 2004 г.Архитектура AMD64 (для Linux).
Компилятор Intel Fortran 9.014 июня 2005 г.Архитектура AMD64 (для Windows), программная оптимизация спекулятивных предварительных вычислений (SSP), улучшенные отчеты по оптимизации циклов.
Компилятор Intel Fortran 10.05 июня 2007 г.Улучшенный распараллеливатель и векторизатор, потоковые расширения SIMD 4 ( SSE4 ), новые и улучшенные отчеты по оптимизации для расширенных преобразований циклов, новая оптимизированная реализация обработки исключений.
Компилятор Intel Fortran 10.17 ноября 2007 г.Новая библиотека времени выполнения совместимости OpenMP*. Чтобы использовать новые библиотеки, вам нужно использовать новую опцию "-Qopenmp /Qopenmp-lib:compat" в Windows и "-openmp -openmp-lib:compat" в Linux. Эта версия компилятора Intel поддерживает больше встроенных функций из Microsoft Visual Studio 2005. Поддержка VS2008 — командная строка только в этом выпуске.
Компилятор Intel Fortran 11.0Ноябрь 2008 г.Дополнительная поддержка Fortran 2003. Поддержка OpenMP 3.0. Проверка исходного кода для статической памяти/параллельной диагностики. Коммерческие лицензии для версии Windows включают Microsoft Visual Studio 2005 Premier Partner Edition.
Компилятор Intel Fortran 11.123 июня 2009 г.Поддержка последних инструкций Intel SSE, AVX и AES. Дополнительная поддержка Fortran 2003. Поддержка последней версии Intel MKL (включена в компиляторы). Коммерческие лицензии для версии Windows включают оболочку Microsoft Visual Studio 2008 и библиотеки.
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.
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 Shell для версий Windows.
Intel Fortran Composer XE 2013 SP1 (компилятор 14.0)31 июля 2013 г.Определяемый пользователем производный тип ввода-вывода; директивы, положения и процедуры OpenMP; coarrays; поддержка параллельной сборки Microsoft Visual Studio
Intel Fortran Composer XE 2013 SP1 Обновление 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; BLOCK из Fortran 2008; EXECUTE_COMMAND_LINE из Fortran 2008; Новый отчет по оптимизации аннотирует исходный код из Visual Studio [8]
Intel Fortran Composer XE 2015 Обновление 1 (компилятор 15.0.1)30 октября 2014 г.Поддержка AVX-512 ; японская локализация; сокращения MIN/MAX в директиве цикла SIMD
Intel Fortran Compiler 16.0, часть Intel Parallel Studio XE 201625 августа 2015 г.Подмодули из Fortran 2008, улучшенная совместимость Fortran с C из проекта Fortran 2018, расширения OpenMP 4.1
Компилятор Intel Fortran 17.04 марта 2016 г.Расширения OpenMP 4.5
Компилятор Intel Fortran 18.017 января 2017 г.Полная поддержка Fortran 2008
Компилятор Intel Fortran 19.012 сентября 2018 г.Некоторые возможности Fortran 2018
Классический компилятор Intel Fortran 2021.1.18 декабря 2020 г.Полная поддержка Fortran 2018, OpenMP 4.5 и начальная версия Open MP 5.1 только для ЦП
Компилятор Intel Fortran (бета-версия) 2021.1.18 декабря 2020 г.OpenMP* 4.5 и начальная поддержка OpenMP для разгрузки ЦП и ГП
Классический компилятор Intel Fortran 2021.5.06 декабря 2021 г.Исправления языка Fortran и обновления безопасности
Компилятор Intel Fortran oneAPI 2022.0.06 декабря 2021 г.
  • Полный Fortran 2003, за исключением параметризованных производных типов
  • Полный Fortran 2008, за исключением coarrays
  • Исправления выявленных проблем [9]
Компилятор Intel Fortran oneAPI 2023.0.021 декабря 2022 г.
  • Полные стандарты Fortran 2003, 2008, 2018
  • IFX теперь имеет паритет функций языка Fortran с IFORT [10]
Компилятор Intel Fortran oneAPI 2024.0.020 ноября 2023 г.
  • Добавляет дезинфицирующие средства LLVM
  • Добавляет начальную поддержку стандартов Fortran 2023 [11]

Отладка

Компилятор 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 потоков и синхронизации.

Смотрите также

Ссылки

  1. ^ ab "Заметки о выпуске компилятора Intel® Fortran для oneAPI". Intel . Получено 28.12.2020 .
  2. ^ "Компилятор Intel Visual Fortran Professional Edition для Windows". cnet.com .
  3. Readey, John (27 октября 2004 г.). Intel Array Visualizer. HDF Workshop VIII . Получено 6 мая 2023 г.
  4. ^ "Intel Array Visualizer". Intel Developer Zone . 7 марта 2016 г. Архивировано из оригинала 7 марта 2016 г. Получено 6 мая 2023 г.
  5. ^ "Intel (Fortran, C и C++)". NERSC.gov .
  6. ^ Документация по компилятору Intel. Выберите компилятор Fortran по вашему выбору и найдите Profile-Guided Optimization. http://software.intel.com/en-us/intel-software-technical-documentation
  7. ^ « Книга рецептов оптимизации программного обеспечения. Рецепты высокой производительности для платформ IA-32», Ричард Гербер, Аарт Дж. К. Бик, Кевин Б. Смит и Синьминь Тянь, Intel Press, 2006 г.
  8. ^ "Intel Visual Fortran 15 теперь доступен".
  9. ^ "Язык Fortran и функции OpenMP*, реализованные в компиляторе Intel® Fortran". Компилятор Intel® Fortran. Intel . Получено 27.12.2021 .
  10. ^ «Следующая глава для компилятора Intel® Fortran 2023». community.intel.com . 2022-12-21 . Получено 2023-02-13 .
  11. ^ "ДОСТУПНО СЕЙЧАС! Intel Software Developer Tools 2024.0". community.intel.com . 2022-12-21 . Получено 2024-09-10 .
  • Официальный сайт
Взято с "https://en.wikipedia.org/w/index.php?title=Intel_Fortran_Compiler&oldid=1244996972"