Fortran Compilers

Fortran has over a dozen open source and commercial compilers.

Компиляторы#

Open source compilers

GNU Fortran Compiler

GNU Fortran Compiler (gfortran) – стабильный бесплатный компилятор с открытым исходным кодом, входящий в набор GNU Compiler Collection.

OpenCoarrays – это библиотека и обёртка для компилятора gfortran, которая позволяет использовать функции параллельного программирования стандарта Fortran 2018 совместно с компилятором gfortran.

LLVM Flang

Flang – это новый интерфейс для языка Fortran 2018, который недавно был добавлен в LLVM. Он реализован на современном C++ и использует фортран-ориентированный диалект MLIR для преобразования в LLVM IR. Этот проект находится в стадии активной разработки.

Current Flang

Flang – это компилятор с открытым исходным кодом, основанный на коммерческом компиляторе NVIDIA/PGI.

LFortran

LFortran – это современный интерактивный компилятор Fortran на базе LLVM. Также доступен онлайн на сайте dev.lfortran.org посредством статически обслуживаемого компилятора LFortran на базе WASM для выполнения кода в веб-браузерах.

Commercial compilers

Intel oneAPI

Intel oneAPI – это набор компиляторов, инструментов и библиотек Intel для языков Fortran, C, C++ и Python. Intel oneAPI HPC Toolkit предоставляет два компилятора Fortran:

  • Intel Fortran Compiler (ifx), a new, LLVM-based compiler that comes with full Fortran 2018 support. It also supports the majority of OpenMP 5.0/5.1 including offload to Intel GPUs. ifx can also offload do concurrent to Intel GPUs.

  • Intel Fortran Compiler Classic (ifort), a mature compiler with full Fortran 2018 support, for CPUs only.

The current version of Intel oneAPI is available for free, and support can be purchased. Currently the ifx compiler supports Linux and Windows platforms for x86-64 architectures. ifort supports Linux, Windows, and macOS. Community support is available for the free version at the Intel Developer forum. Optionally, you can purchase Priority Support with additional benefits including access to previous versions of ifort and ifx.

NAG

Последний выпуск NAG Fortran Compiler (7.0) имеет широкую поддержку старых и современных возможностей языка Fortran, включая параллельное программирование с использованием комассивов, как и дополнительную поддержку программирования с использованием OpenMP.

Компилятор также обеспечивает поддержку значительной части стандарта Fortran 2018 (атомарные операции, события и задачи, а также другие небольшие возможности), почти всего стандарта Fortran 2008, полное покрытие стандарта Fortran 2003 и все возможности OpenMP 3.1. Для всех платформ доступны вспомогательные инструменты для разработки программного обеспечения: полировщики исходных файлов, генератор зависимостей для модулей и подключаемых файлов, генератор графов вызовов, построитель интерфейсов и унификатор точности.

NVIDIA

Компиляторы NVIDIA HPC SDK для языков C, C++ и Fortran, изначально компиляторы PGI, поддерживают GPU-ускорение приложений HPC моделирования и симуляци с помощью стандартных C++ и Fortran директив OpenACC® и CUDA®. Математические библиотеки с GPU-ускорением вычислений повышают производительность распространённых HPC алгоритмов, а коммуникационные библиотеки позволяют программировать многопроцессорные и масштабируемые системы на основе стандартов.

Компиляторы NVHPC доступны бесплатно. В настоящее время компилятор поддерживает платформы Linux и архитектуры x86_64, ppc64le и aarch64. Поддержка сообщества доступна на сайте HPC compiler forum.

HPE / Cray

The Cray Compiling Environment (CCE) is the cornerstone innovation of Cray’s adaptive computing paradigm. CCE builds on a well-developed and sophisticated Cray technology base that identifies regions of computation that are either sequential scalar, vector parallel or highly multithreaded. It includes optimizing compilers that automatically exploit the scalar, vector and multithreading hardware capabilities of the Cray system. CCE supports Fortran, C and C++.

IBM

IBM® XL Fortran for Linux – это инструмент программирования на основе отраслевых стандартов, используемый для разработки больших и сложных приложений на языке программирования Fortran. Он генерирует код, использующий возможности новейшей архитектуры POWER9 и максимально эффективно использующий ваше оборудование. IBM XL Fortran for Linux оптимизирует вашу инфраструктуру на IBM Power Systems™ для поддержки масштабных численных, научных и высокопроизводительных вычислений.

Компиляторы IBM XL community edition доступны бесплатно. Компиляторы поддерживают платформы Linux и AIX для архитектуры ppc64le.

AMD

Системы компиляторов AMD Optimizing C/C++ Compiler (AOCC) – высокопроизводительный инструмент генерации кода промышленного качества. Среда AOCC предоставляет разработчикам различные возможности при создании и оптимизации приложений на языках C, C++ и Fortran для 32- и 64-разрядных платформ Linux®. Система компиляторов AOCC предлагает высокий уровень расширенных оптимизаций, многопоточность и поддержку процессоров, включая глобальную оптимизацию, векторизацию, межпроцедурный анализ, преобразование циклов и генерацию кода. AMD также предоставляет высокооптимизированные библиотеки, которые извлекают максимальную производительность из каждого ядра x86-процессора при его загрузке. Набор компиляторов AOCC упрощает и ускоряет разработку и настройку x86-приложений.

Компиляторы AOCC доступны бесплатно и поддерживают платформы Linux с архитектурой x86_64.

ARM

Linux user-space Fortran compiler. Предназначен для высокопроизводительных вычислений (HPC) и научных кодов, поддерживает популярные стандарты Fortran и OpenMP и настроен на использование на ведущих платформах серверного класса для архитектуры Arm. Построен на открытом исходном коде интерфейса Flang и платформы оптимизации и генерации кода LLVM. Доступен в составе пакета Arm Compiler for Linux.

Oracle / Sun

Oracle C, C++, Fortran компилятор высоко оптимизирован для систем Oracle, как локальных, так и облачных

  • Передовая технология генерации кода для новейших систем Oracle на базе архитектур SPARC и x86

  • Поддержка последних отраслевых стандартов, включая C++14, C++11, C11 и OpenMP 4.0, а также широкие возможности совместимости с компиляторами GCC

  • Автоматический анализ кода во время компиляции и автоматическая защита от переполнения стека во время выполнения приложения

Silverfrost FTN95

Silverfrost FTN95 – это компилятор, полностью соответствующий стандарту Fortran 95, способный быстро создавать исполняемые файлы для Win32 и для Microsoft .NET. FTN95 поставляется с лучшей в мире проверкой времени выполнения и большим набором вспомогательного программного обеспечения. Поддерживаются все стандартные и многие унаследованные от производителей компиляторов языковые функции, так что проекты Fortran могут представлять собой любую комбинацию кода Fortran 77, Fortran 90 и Fortran 95. Добавлены некоторые возможности стандартов Fortran 2003 и 2008. работает под управлением Windows / x86_64. Существует бесплатная персональная версия.

NEC

Компилятор Fortran соответствует стандарту Fortran-2003 (ISO/IEC 1539-1:2004) и поддерживает многие возможности стандарта Fortran-2008 (ISO/IEC 1539-1:2010).

LCC

МЦСТ компилятор C, C++, Fortran имеет полную поддержку стандарта Fortran-95 (ISO/IEC 1539:1997) и частичную поддержку стандартов Fortran-2003 (ISO/IEC 1539:2004), Fortran-2008 (ISO/IEC 1539:2010) и Fortran-2018 (ISO/IEC 1539:2018). Используется для российских процессоров с архитектурой Эльбрус (e2k) и SPARC (MCST-R). Также доступен кросс-компилятор для систем с архитектурой x86_64.

Discontinued

Ниже приведён список компиляторов Fortran, разработка и поставка которых, похоже, прекращена, поэтому мы не приводим их выше:

  • Absoft

  • Apogee

  • Edinburgh Portable Compilers

  • Hewlett Packard

  • Lahey

  • Watcom

  • PathScale

  • G95

  • Open64

  • Unisys

Note

Пожалуйста, сообщите нам, если есть компилятор, которого нет в списке, или если мы перечислили компилятор в разделе Discontinued, а на самом деле он активно поддерживается.