Fortran has over a dozen open source and commercial compilers.
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.
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.
Flang is an open source compiler based on the NVIDIA/PGI commercial compiler.
LFortran is a modern, interactive, LLVM-based Fortran compiler.
ifort), a mature compiler with full Fortran 2018 support; and
ifx), a new, LLVM-based compiler that supports Fortran 95 and partially newer versions of the standard.
Intel oneAPI is available for free. Currently the compiler supports Linux, MacOS and Windows platforms and x86_64 architectures. Community support is available for the free version at the Intel Developer forum.
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.
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.
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® 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.
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.
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.
Absoft compilers include Pro Fortran delivering Absoft’s exclusive AP load balancing, AVX, OpenMP 3.1, extended Fortran 95 compiler with F2003 and F2008 features, FX3 graphical debugger, native tool suite integration, AMDAL HPC scientific and engineering library, and more. Pro Fortran includes Fast Data Visualization, an Absoft exclusive technology for graphical rendering and data output.
Oracle C, C++, Fortran Compiler is highly optimized for Oracle systems, on-premise and in the cloud
LF Professional v7.8 combines the 32/64-bit LGF Rainier compiler with the classic Lahey/Fujitsu LF95 compiler. LGF Rainier has full Fortran 95/90/77 compliance with extensive support for the Fortran 2003 and 2008 standards. Lahey/Fujitsu LF95 offers best in class diagnostics. Includes the automatic-parallelizing GFortran compiler, Lahey/Fujitsu Fortran 95 compiler, Visual Studio Fortran support, Winteracter WiSK Graphics package, and more.
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.
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).
The following is a list of Fortran compilers that seem discontinued, so we do not list them above:
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.