Skip to content

Tools for Fortran programming

Code formatting

  • fprettify: auto-formatter for modern Fortran source code.

Linting and static analysis

  • Fortitude: linter for Fortran that checks correctness, modernization, portability, and style rules. It can produce output suitable for continuous integration and fix some findings automatically.

Testing

  • pFUnit: unit testing framework for serial and MPI-parallel Fortran software, with limited OpenMP support.

Profiling

  • GNU gprof is a basic instrumenting profiler distributed with GNU Binutils. It is useful for introductory profiling and existing workflows, but gprofng is the more capable profiler in current Binutils releases.
  • Intel VTune Profiler analyzes CPU, accelerator, threading, and memory-performance behaviour. It supports applications containing Fortran and can be installed separately or as part of the Intel oneAPI toolkits.
  • Linaro Forge combines the DDT parallel debugger, MAP profiler, and Performance Reports. It is designed for MPI, OpenMP, and accelerator-enabled HPC applications.
  • HPCToolkit is an open-source measurement and analysis suite for CPU and GPU-accelerated applications, including parallel programs.
  • Scalasca is an open-source performance-analysis toolset for MPI, OpenMP, and hybrid applications.

Build tools

  • Fortran Package Manager (fpm): build system and package manager that creates Fortran project layouts, manages dependencies, and builds and runs applications and tests. CMake remains useful for established or mixed-language projects and for integration with wider HPC software stacks.