List of Fortran software and tools
Jump to navigation
Jump to search
This is a list of software and programming tools for the Fortran programming language, including IDEs, compilers, libraries, debugging tools, numerical and scientific computing tools, and related projects.
Fortran compilers
[edit | edit source]- Absoft Pro Fortran — Absoft Pro Fortran is discontinued and ran on Linux and macOS
- AOCC — from AMD
- Classic Flang — part of the LLVM Project
- LLVM Flang — part of the LLVM Project
- Fortran 77 — Fortran 77 was developed by Digital Equipment Corporation, it is discontinued.
- G95 – portable open-source Fortran 95 compiler
- GCC (GNU Fortran)
- PGI compilers – NVIDIA developed compilers after aquiring The Portland Group
- IBM XL Fortran — IBM XL Fortran is current and runs on Linux (Power/AIX) and integrates with Eclipse
- Intel Fortran Compiler – part of Intel OneAPI HPC toolkit
- LFortran — LFortran is current, cross-platform, and has IDE support.
- MinGW – cross compiler and forked into Mingw-w64
- Open64 — Open64 is an open-source compiler that has been terminated and ran on Linux
- Open Watcom — Open Watcom is current, runs on MS-DOS and OS/2, and has IDE support.
- Oracle Fortran — Oracle Fortran is discontinued, ran on Linux and Solaris.
- ROSE — source-to-source compiler framework developed at Lawrence Livermore National Laboratory
- Silverfrost FTN95 — FTN95 from Silverfrost is current, runs on Windows, and has IDE support.[1]
Integrated development environments (IDEs) and editors
[edit | edit source]- Code::Blocks — supports Fortran with plugins[2]
- Eclipse IDE — with Fortran support via Photran[3]
- Geany — lightweight cross-platform IDE based on GTK
- IntelliJ IDEA — cross-platform IDE by JetBrains with Fortran pluggin[4]
- KDevelop — KDE-based IDE
- NetBeans — Apache software foundation IDE with Fortran configuration[5]
- OpenWatcom — IDE and compiler suite for C, C++, and Fortran
- Simply Fortran — standalone Fortran IDE for Windows, Linux, and macOS
- Visual Studio — with Intel Fortran integration
- Visual Studio Code — supports Fortran via extensions[6]
Mathematical libraries
[edit | edit source]Scientific libraries
[edit | edit source]- ABINIT — software suite to calculate optical, mechanical, vibrational, and other observable properties of materials
- Cantera — chemical kinetics, thermodynamics, and transport tool suite
- CERN Program Library — collection of Fortran libraries for physics applications from CERN
- CP2K — quantum chemistry and solid-state physics software package for atomistic simulations
- Dalton — molecular electronic structure program
- Kinetic PreProcessor – open-source software tool used in atmospheric chemistry
- MESA — Modules for Experiments in Stellar Astrophysics
- Nek5000 — MPI parallel higher-order spectral element CFD solver
- NWChem — open-source high-performance computational chemistry software
- Octopus — real-space Time-Dependent Density Functional Theory code
- MODTRAN – model atmospheric propagation of electromagnetic radiation
- MOLCAS — quantum chemistry software package for multiconfigurational electronic structure calculations
- NOVAS – software library for astrometry-related numerical computations
- Physics Analysis Workstation – data analysis and graphical presentation in high-energy physics
- Quantum ESPRESSO — integrated suite for electronic-structure calculations and materials modeling
- siesta — first-principles materials simulation code using density functional theory
- Tinker — software tools for molecular design[8]
Debugging and performance tools
[edit | edit source]- GDB — GNU Debugger with Fortran support
- Valgrind — memory debugging and profiling tool
- VTune Profiler — performance analysis tool
- Allinea Forge — debugger and profiler for HPC applications[9]
Build and package management
[edit | edit source]- Autotools — build system supporting Fortran projects
- CMake — cross-platform build system supporting Fortran
- Make — build automation tool
- Spack — package manager for HPC software including Fortran libraries[10]
Machine learning and AI libraries
[edit | edit source]- Athena[11]
- Fiats (Functional Inference And Training for Surrogates)[12]
- FNN (Fortran Neural Network)[13]
- FortNN[14]
- Fortran-TF-lib (Fortran interface to TensorFlow)[15]
- FTorch (Fortran interface to PyTorch)[16]
- MlFortran[17]
- RoseNNa[18]
Parallel and high-performance computing tools
[edit | edit source]- MPI Fortran bindings — standard interface for distributed-memory parallelism
- OpenMP — shared-memory parallel programming support through compiler directives[19]
- Coarray Fortran — parallel programming model introduced in Fortran 2008[20]
- ScaLAPACK — parallel linear algebra package built on top of LAPACK[21]
Testing frameworks
[edit | edit source]- FUnit — open-source unit testing framework developed at NASA’s Langley Research Center, for Fortran 90, 95, and 2003.[22]
- pFUnit — unit testing framework for Fortran, modeled after JUnit
Documentation and code analysis tools
[edit | edit source]- FORD — automatic documentation generator for modern Fortran projects
- SQuORE — software quality and management platform with code analysis support[23]
- Understand — static analysis and code comprehension tool for large Fortran projects[24]
See also
[edit | edit source]- Comparison of programming languages
- Fortran programming language on Wikibooks
- High-performance computing
- List of Fortran books
- Lists of programming software development tools by language
- Numerical analysis
External links
[edit | edit source]- Fortran-lang.org — community and resources
- GNU Fortran official site
- Intel Fortran Compiler
- NAG Fortran Compiler
References
[edit | edit source]- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).