Extensive Fortran support: parallel programming with coarrays and OpenMP

The NAG Fortran Compiler provides significant support for Fortran 2018 (assumed rank, assumed type, C descriptors, collective subroutines, atomic operations, events and teams, plus other smaller features), complete coverage of Fortran 2008 and 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 and Arm Linux systems. If you prefer using an IDE on Windows, we recommend using the NAG Fortran Builder.

Latest functionality
  • Full coverage of Fortran 2008;
  • With the addition of intrinsic collective subroutines, all of the coarray parallel programming features of Fortran 2018 are now supported on shared-memory machines;
  • Undefined variable detection can now be used for OpenMP programs;
  • Use of data pointer function result as variable in many contexts is supported;
  • Pointer target initialisation and function returning procedure pointer is supported;
  • Interoperability with C now includes assumed-rank and assumed-type arguments, along with C descriptors, RANK intrinsic function and SELECT RANK construct;
  • Additional error checking and tools capabilities.
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