Интел-компилятор Фортрана
Другие имена |
|
---|---|
Разработчик(и) | Интел |
Предварительный выпуск | 2023.2.1 [1] / 28 июля 2023 г |
Операционная система | Линукс , Винда |
Тип | Компилятор |
Лицензия | Бесплатное ПО , Дополнительная приоритетная поддержка |
Веб-сайт | программное обеспечение |
Другие имена |
|
---|---|
Разработчик(и) | Интел |
Стабильная версия | 2021.10.0 Сборка 20230609_000000 [1] / 28 июля 2023 г |
Операционная система | Линукс , Виндовс , МакОС |
Тип | Компилятор |
Лицензия | Бесплатное ПО , Дополнительная приоритетная поддержка |
Веб-сайт | программное обеспечение |
Intel Fortran Compiler , как часть набора инструментов Intel OneAPI HPC, представляет собой группу Fortran компиляторов от Intel для Windows , macOS и Linux .
Обзор
[ редактировать ]Компиляторы генерируют код для процессоров IA-32 и Intel 64 , а также некоторых процессоров сторонних производителей, но совместимых, например некоторых процессоров 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 для oneAPI (ifx), поддерживающий разгрузку графического процессора.
В выпуск классического компилятора 2021 года добавлена полная поддержка Fortran посредством стандарта 2018 года, полная поддержка OpenMP* 4.5 и Initial Open MP 5.1 только для ЦП. Бета-компилятор 2021 года ориентирован на OpenMP для разгрузки графического процессора. При использовании с набором инструментов Intel OneAPI HPC (см. «Описание упаковки» ниже) компилятор также может автоматически генерировать вызовы интерфейса передачи сообщений для многопроцессорной обработки распределенной памяти из директив OpenMP.
Для получения дополнительной информации о стандартах Фортрана доступны ряд ресурсов или ресурсов, таких как статья о Фортране в Википедии или вики-страница Фортрана .
Пакет 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 (бета-версия) поддерживает полную версию Fortran 77/90/95 и частичную поддержку стандарта Fortran 2003.
Архитектуры
[ редактировать ]- ИА-32
- x86-64 ( Intel 64 и AMD64 )
- Сопроцессор Intel Xeon Phi
- ИА-64 ( Итаниум 2)
- Х и архитектура
Описание упаковки
[ редактировать ]Компиляторы доступны отдельно от Intel, а также из репозиториев APT и Yum. Они также доступны в наборе инструментов Intel oneAPI HPC, который включает в себя другие инструменты сборки, такие как библиотеки, и инструменты анализа для проверки ошибок и анализа производительности. Контейнеры с компиляторами находятся на Docker Hub.
История с 2003 года.
[ редактировать ]Версия компилятора | Дата выпуска | Основные новые функции |
---|---|---|
Компилятор Intel Фортран 8.0 | 15 декабря 2003 г. | Предварительно скомпилированные заголовки, инструменты покрытия кода. |
Компилятор Intel Фортран 8.1 | Сентябрь 2004 г. | Архитектура AMD64 (для Linux). |
Компилятор Intel Фортран 9.0 | 14 июня 2005 г. | Архитектура AMD64 (для Windows), программная оптимизация спекулятивных предварительных вычислений (SSP), улучшенные отчеты по оптимизации цикла. |
Компилятор Intel Фортран 10.0 | 5 июня 2007 г. | Улучшенный параллелизатор и векторизатор, Streaming SIMD Extensions 4 ( SSE4 ), новые и улучшенные отчеты об оптимизации для расширенных преобразований циклов, новая оптимизированная реализация обработки исключений. |
Компилятор Intel Фортран 10.1 | 7 ноября 2007 г. | Новая библиотека времени выполнения, совместимая с OpenMP*. Чтобы использовать новые библиотеки, вам необходимо использовать новую опцию «-Qopenmp /Qopenmp-lib:compat» в Windows и «-openmp -openmp-lib:compat» в Linux. Эта версия компилятора Intel поддерживает больше встроенных функций Microsoft Visual Studio 2005. Поддержка VS2008 — командная строка только в этом выпуске. |
Компилятор Intel Фортран 11.0 | ноябрь 2008 г. | Дополнительная поддержка Fortran 2003. Поддержка OpenMP 3.0. Source Checker для статической памяти/параллельной диагностики. Коммерческие лицензии для версии Windows включают Microsoft Visual Studio 2005 Premier Partner Edition. |
Компилятор Intel Фортран 11.1 | 23 июня 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 г. (ОКОНЧАТЕЛЬНЫЕ подпрограммы, ключевое слово GENERIC) и 2008 г. (Coarrays, CODIMENSION, SYNC ALL, SYNC IMAGES, SYNC MEMORY, CRITICAL, LOCK, ERROR STOP, ALLOCATE/DEALLOCATE) |
Intel Fortran Composer XE 2011, обновление 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 (настольная версия), поддержка gcc 4.7, поддержка инструкций Intel AVX 2, обновления существующих функций, направленные на повышение производительности приложений. Постоянная доступность версий Visual Studio 2010 Shell для Windows. |
Intel Fortran Composer XE 2013 SP1 (компилятор 14.0) | 31 июля 2013 г. | ввод-вывод производного типа, определяемый пользователем; Директивы, положения и процедуры OpenMP; каррейсы; Поддержка параллельной сборки 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 г. | Полная поддержка Фортрана 2003; БЛОК из Фортрана 2008; EXECUTE_COMMAND_LINE из Фортрана 2008; Новый отчет об оптимизации аннотирует источник из Visual Studio. [8] |
Intel Fortran Composer XE 2015, обновление 1 (компилятор 15.0.1) | 30 октября 2014 г. | AVX-512 поддержка ; японская локализация; Сокращение MIN/MAX в директиве цикла SIMD |
Компилятор Intel Fortran 16.0, часть Intel Parallel Studio XE 2016 | 25 августа 2015 г. | Подмодули из Fortran 2008, расширенная совместимость Fortran с C из проекта Fortran 2018, расширения OpenMP 4.1. |
Компилятор Intel Фортран 17.0 | 4 марта 2016 г. | Расширения OpenMP 4.5 |
Компилятор Intel Фортран 18.0 | 17 января 2017 г. | Полная поддержка Фортрана 2008. |
Компилятор Intel Фортран 19.0 | 12 сентября 2018 г. | Некоторые возможности Fortran 2018 |
Классический компилятор Intel Fortran 2021.1.1 | 8 декабря 2020 г. | Полная поддержка Fortran 2018, OpenMP 4.5 и начальная версия Open MP 5.1 только для ЦП. |
Компилятор Intel Fortran (бета) 2021.1.1 | 8 декабря 2020 г. | OpenMP* 4.5 и первоначальная поддержка OpenMP для разгрузки ЦП и ГП. |
Классический компилятор Intel Fortran 2021.5.0 | 6 декабря 2021 г. | Исправления языка Фортран и обновления безопасности |
Компилятор Intel Fortran oneAPI 2022.0.0 | 6 декабря 2021 г. |
|
Компилятор Intel Fortran oneAPI 2023.0.0 | 21 декабря 2022 г. |
|
Отладка
[ редактировать ]Компилятор 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.
См. также
[ редактировать ]- Intel Интегрированные примитивы производительности (IPP)
- oneAPI Библиотека анализа данных (oneDAL)
- Intel oneAPI Библиотека математического ядра (oneMKL)
- oneAPI Строительные блоки потоков (oneTBB)
- VTune Profiler
- Компилятор Intel C++
- Intel Developer Zone (Intel DZ; поддержка и обсуждение)
- Intel параллельная студия XE
Ссылки
[ редактировать ]- ^ Jump up to: а б «Примечания к выпуску компилятора Intel® Fortran для oneAPI» . Интел . Проверено 28 декабря 2020 г.
- ^ «Компилятор Intel Visual Fortran Professional Edition для Windows» . cnet.com .
- ^ Риди, Джон (27 октября 2004 г.). Визуализатор массивов Intel . Семинар HDF VIII . Проверено 6 мая 2023 г.
- ^ «Визуализатор массивов Intel» . Зона разработчиков Intel . 7 марта 2016. Архивировано из оригинала 7 марта 2016 года . Проверено 6 мая 2023 г.
- ^ «Intel (Фортран, C и C++)» . NERSC.gov .
- ^ Документация компилятора Intel. Выберите компилятор Фортрана и выполните поиск по запросу «Оптимизация на основе профиля». http://software.intel.com/en-us/intel-software-technical-documentation
- ^ Книга рецептов по оптимизации программного обеспечения, Рецепты высокой производительности для платформ IA-32, Ричард Гербер, Аарт Дж. К. Бик, Кевин Б. Смит и Синьмин Тиан, Intel Press, 2006 г.
- ^ «Intel Visual Fortran 15 теперь доступен» .
- ^ «Функции языка Фортран и OpenMP*, реализованные в компиляторе Intel® Fortran» . Компилятор Intel® Fortran. Интел . Проверено 27 декабря 2021 г.
- ^ «Следующая глава для компилятора Intel® Fortran 2023» . сообщество.intel.com . 21 декабря 2022 г. Проверено 13 февраля 2023 г.