Fortran Compilers

Fortran has over a dozen open source and commercial compilers.

编译器#

Open source compilers

GNU Fortran Compiler

GNU Fortran Compiler (gfortran) is a mature compiler, part of the GNU Compiler Collection.

Free and open source under GNU General Public License.

OpenCoarrays 是一个围绕 gfortran 的库和编译器包装器,它启用了 Fortran 2018 与 gfortran 的并行编程功能。

Free and open source under BSD-3 license.

LLVM Flang

Flang 是最近添加到 LLVM 的 Fortran 2018 新前端。它是用现代 C++ 实现的,并使用面向 Fortran 的 MLIR 方言来降低到 LLVM IR。该项目正在积极开发中。

Free and open source under Apache License v2.0 with LLVM Exceptions.

Current Flang

Flang is a compiler based on the NVIDIA/PGI commercial compiler.

Free and open source under Apache License v2.0 with LLVM Exceptions.

LFortran

LFortran 是一种现代的、交互式的、基于 LLVM 的 Fortran 编译器。也可以在线(dev.lfortran.org) 使用静态服务的、基于 WASM 的 LFortran 编译器在浏览器中运行代码。

Free and open source under BSD-3 license.

Commercial compilers

Intel oneAPI

英特尔 oneAPI 是英特尔针对 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.

Currently the ifx compiler supports Linux and Windows platforms for x86-64 architectures. ifort supports Linux, Windows, and macOS.

The current version of Intel oneAPI is available for free, and support can be purchased. 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. For licensing information related to Intel oneAPI, see the Intel End-User License Agreement.

NAG

The latest NAG Fortran Compiler release (7.0) has extensive support for legacy and modern Fortran features including parallel programming with coarrays, as well as additional support for programming with OpenMP.

该编译器还为 Fortran 2018(原子操作、事件和任务,以及其它较小的功能)、几乎所有 Fortran 2008、完全覆盖 Fortran 2003 和所有 OpenMP 3.1 提供重要支持。所有平台都包括用于软件开发的支持工具:源文件抛光器、模块和包含文件的依赖项生成器、调用图生成器、接口构建器和精度统一器。

Purchasable from the NAG website under the NAG software license

NVIDIA

NVIDIA HPC SDK C、C++ 和 Fortran 编译器,以前的 PGI 编译器,支持使用标准 C++ 和 Fortran、OpenACC® 指令和 CUDA® 对 HPC 建模和仿真应用程序进行 GPU 加速。 GPU 加速的数学库最大限度地提高了常见 HPC 算法的性能,优化的通信库支持基于标准的多 GPU 和可扩展系统编程。

Currently the compiler supports Linux platforms and x86_64, ppc64le and aarch64 architectures. Community support is available at the HPC compiler forum.

Freely available under NVIDIA Software License Agreement.

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++.

Purchasable from HPC Support Center under HPE License Terms.

IBM

IBM® XL Fortran for Linux 是一种基于行业标准的编程工具,用于开发大型和复杂的应用程序在 Fortran 编程语言中。它生成的代码利用了最新的 POWER9 架构的功能并最大限度地提高了硬件利用率。 IBM XL Fortran for Linux 优化了 IBM Power Systems™ 上的基础架构,以支持广泛的数值、科学和高性能计算。

The compilers support Linux and AIX platforms and ppc64le architectures.

Purchasable from the IBM website under the relevant IBM License Agreement. A community edition of the IBM XL compilers are available free of charge.

AMD

AMD Optimizing C/C++ Compiler (AOCC) 编译器系统是一个高性能、生产质量的代码生成工具。在构建和优化面向 32 位和 64 位 Linux® 平台的 C、C++ 和 Fortran 应用程序时,AOCC 环境为开发人员提供了各种选项。 AOCC 编译器系统提供高级优化、多线程和处理器支持,包括全局优化、矢量化、过程间分析、循环转换和代码生成。 AMD 还提供高度优化的库,可在使用时从每个 x86 处理器内核中提取最佳性能。 AOCC 编译器套件简化并加速了 x86 应用程序的开发和调整。

AOCC 编译器被免费提供,支持 x86_64 架构的 Linux 平台。

Freely available on the AMD website under the AMD AOCC End-User License Agreement.

ARM

Arm Fortran compiler for Linux. Tailored for HPC and scientific codes, with support for popular Fortran and OpenMP standards and tuned for leading server-class Arm-based platforms. Built on the open source Flang front-end, and the LLVM‑based optimization and code generation back-end. Available as part of the Arm Compiler for Linux package.

Freely available on the Arm website under the License agreement.

Oracle / Sun

Oracle C, C++, Fortran Compiler is highly optimized for Oracle systems, on-premise and in the cloud.

  • Advanced code generation technology for the latest Oracle SPARC and x86 based systems.

  • Support for the latest industry standards, including C++14, C++11, C11 and OpenMP 4.0 and extensive GCC compatibility features.

  • Automatic code analysis during compilation and automatic stack overflow protection at application runtime.

Purchasable from the Oracle website under the Oracle License and Services Agreement.

Silverfrost FTN95

Silverfrost FTN95 is a full Fortran 95 standards compliant compiler, capable of producing fast executables for Win32 and for Microsoft .NET. FTN95 ships with the world's best runtime checking and a great range of supporting software. All standard and many vendor-specific legacy language features are supported, so that Fortran projects may be any combination of Fortran 77, Fortran 90 and Fortran 95. Some features of Fortran 2003 and 2008 have been added. Silverfrost Fortran runs on Windows / x86_64.

Purchasable from the Silverfrost website (there is also a free personal edition under the Silverfrost Fortran FTN95 License Agreement.

NEC

Fortran 编译器 符合 Fortran-2003 标准 (ISO/IEC 1539-1:2004) 并支持许多Fortran-2008 (ISO/IEC 1539-1:2010) 的功能。

Freely available from the community repository (see blog post for more information) under the SX-Aurora TSUBASA Free Software License.

LCC

MCST C, C++, Fortran Compiler with full support of Fortran-95 (ISO/IEC 1539:1997) and partial support of Fortran-2003 (ISO/IEC 1539:2004), Fortran-2008 (ISO/IEC 1539:2010) and Fortran-2018 (ISO/IEC 1539:2018). Used for Russian processor architectures Elbrus (e2k) and SPARC (MCST-R), also a cross-compiler for x86_64 architecture is available.

Fujitsu

The Fortran compiler in Fujitsu Software Technical Computing Suite supports Fortran-2018 (ISO/IEC 1539-1:2018) and Fortran-2008 (ISO/IEC 1539-1:2010), along with earlier standards back to FORTRAN 77. It targets Fujitsu's A64FX processor, as used in the PRIMEHPC FX1000 and FX700 and in the Fugaku supercomputer, and runs on Linux. The compiler is invoked as frt, or mpifrt for MPI programs, with frtpx used when cross-compiling from an x86 login node. Its manuals, including the Fortran Language Reference and User's Guide, are published by RIKEN for Fugaku users as Fujitsu Software Manuals.

Commercial, licensed from Fujitsu as part of the Technical Computing Suite.

VSI Fortran for OpenVMS

VSI Fortran from VMS Software, Inc. supports Fortran 95 (ISO/IEC 1539-1:1997) together with Fortran 90, FORTRAN 77 (ANSI X3.9-1978) and FORTRAN 66 (ANSI X3.9-1966). It is available for OpenVMS on Alpha, Integrity (Itanium) and x86-64.

Purchasable from the VMS Software website; a license is required to use it.

Discontinued

以下是似乎已停产的 Fortran 编译器列表,因此我们不在上面列出:

  • Absoft

  • Apogee

  • 爱丁堡便携式编译器

  • 惠普

  • Lahey

  • Watcom

  • PathScale

  • G95

  • Open64

  • Unisys

Note

请让我们知道是否有任何未列出的编译器,或者我们是否在“停产”部分列出了一个编译器,并且它实际上正在积极维护。