Fortran Compilers

Fortran has over a dozen open source and commercial compilers.

Compilers#

Open source compilers

GNU Fortran Compiler

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

OpenCoarrays is a library and compiler wrapper around gfortran which enables the parallel programming features of Fortran 2018 with gfortran.

LLVM Flang

Flang is a new front-end for Fortran 2018 that has been recently added to LLVM. It is implemented in modern C++ and uses a Fortran-oriented MLIR dialect for lowering to LLVM IR. This project is under active development.

Current Flang

Flang is an open source compiler based on the NVIDIA/PGI commercial compiler.

LFortran

LFortran is a modern, interactive, LLVM-based Fortran compiler. Also available online at dev.lfortran.org using a statically served, WASM based LFortran Compiler for running code in web browsers.

Commercial compilers

Intel oneAPI

Intel oneAPI is Intel’s suite of compilers, tools, and libraries for Fortran, C, C++, and Python. Intel oneAPI HPC Toolkit provides two Fortran compilers:

  • 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

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.

The Compiler also provides significant support for Fortran 2018 (atomic operations, events and tasks, plus other smaller features), almost all of Fortran 2008, complete coverage of Fortran 2003, and all of OpenMP 3.1. All platforms include supporting tools for software development: source file polishers, dependency generator for module and include files, call-graph generator, interface builder and a precision unifier.

NVIDIA

The NVIDIA HPC SDK C, C++, and Fortran compilers, former PGI compilers, support GPU acceleration of HPC modeling and simulation applications with standard C++ and Fortran, OpenACC® directives, and CUDA®. GPU-accelerated math libraries maximize performance on common HPC algorithms, and optimized communications libraries enable standards-based multi-GPU and scalable systems programming.

NVHPC compilers are available free of charge. Currently the compiler supports Linux platforms and x86_64, ppc64le and aarch64 architectures. Community support is available at the 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 is an industry standards-based programming tool used to develop large and complex applications in the Fortran programming language. It generates code that leverages the capabilities of the latest POWER9 architecture and maximizes your hardware utilization. IBM XL Fortran for Linux optimizes your infrastructure on IBM Power Systems™ in support of extensive numerical, scientific and high-performance computing.

A community edition of the IBM XL compilers are available free of charge. The compilers support Linux and AIX platforms and ppc64le architectures.

AMD

The AMD Optimizing C/C++ Compiler (AOCC) compiler system is a high performance, production quality code generation tool. The AOCC environment provides various options to developers when building and optimizing C, C++, and Fortran applications targeting 32-bit and 64-bit Linux® platforms. The AOCC compiler system offers a high level of advanced optimizations, multi-threading and processor support that includes global optimization, vectorization, inter-procedural analyses, loop transformations, and code generation. AMD also provides highly optimized libraries, which extract the optimal performance from each x86 processor core when utilized. The AOCC Compiler Suite simplifies and accelerates development and tuning for x86 applications.

The AOCC compilers are available free of charge and support Linux platforms with x86_64 architectures.

ARM

Linux user-space Fortran compiler. 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.

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

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. There is a free personal edition.

NEC

The Fortran compiler conforms to the Fortran-2003 standard (ISO/IEC 1539-1:2004) and supports many features from Fortran-2008 (ISO/IEC 1539-1:2010).

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.

Discontinued

The following is a list of Fortran compilers that seem discontinued, so we do not list them above:

  • Absoft

  • Apogee

  • Edinburgh Portable Compilers

  • Hewlett Packard

  • Lahey

  • Watcom

  • PathScale

  • G95

  • Open64

  • Unisys

Note

Please let us know if there is any compiler that is not listed, or if we listed a compiler in the Discontinued section and it is in fact actively maintained.