Extensive Fortran support: parallel programming with coarrays and OpenMP

The NAG Fortran Compiler provides significant support for Fortran 2018 (atomic operations, events and tasks, plus other smaller features), almost all Fortran 2008, complete coverage of Fortran 2003, and all 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.

Available on Linux, Windows and macOS, including Apple Silicon Macs. If you prefer using an IDE on Windows or Apple Mac, we recommend using the NAG Fortran Builder.

Latest functionality
  • Parallel execution of coarray programs on shared-memory machines;
  • Half precision floating-point conforming to the IEEE arithmetic standard, including full support for all exceptions and rounding modes;
  • Submodules, a Fortran 2008 feature for breaking large modules into separately-compilable files;
  • Teams, a Fortran 2018 coarray feature for structuring parallel execution;
  • Events, a Fortran 2018 coarray feature for lightweight single-sided synchronisation;
  • Atomic operations, a Fortran 2018 coarray feature for updating atomic variables without synchronisation.
Monitor 2
Fewer mistakes

Developing code is time-consuming and costly; the NAG Fortran Compiler will save you effort by finding errors and diagnosing non-standard or questionable usage early

Monitor 3

Daily Compiler verification ensures correctness and performance. Rapid technical support and request response time. 

Puzzle 1

Take advantage of the features and related performance benefits from the latest Fortran language standard - integrated where possible in the NAG Fortran Compiler

Person 1

New functionality is added to the NAG Fortran Compiler on a regular basis ensuring customers have access to enhancements in a timely way

"The NAG Compiler is often my best tool when debugging complex Fortran code. One of my favourite sets of compiler flags is -g -O0 -C=all -mtrace -gline -ieee=stop. The excellent memory tracing and array bound checks, in combination with the analysis of floating point arithmetic, e.g. division by zero or floating point overflow, and reliable tracebacks to the line of code where an issue occurs, makes my life much easier. I love the NAG Compiler for its efficiency in finding sources of errors, verifying implementations, and assuring excellent code quality."

Judith Rommel, Researcher, University of Cambridge