List of Fortran software and tools
Appearance
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]- 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]- 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]Scientific libraries
[edit]- 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]- 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]- 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]- 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]- 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]- 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]- 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]- 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]- Fortran-lang.org — community and resources
- GNU Fortran official site
- Intel Fortran Compiler
- NAG Fortran Compiler
References
[edit]- ^ "Compilers — Fortran Programming Language".
- ^ https://cbfortran.sourceforge.io/
- ^ https://projects.eclipse.org/projects/tools.photran
- ^ "Satamas/Fortran-plugin". GitHub.
- ^ "Apache NetBeans archive". Archived from the original on 11 November 2016.
- ^ "IDEs — Fortran Programming Language".
- ^ "Fortran libraries for linear algebra, optimization, root-finding etc. — Fortran Programming Language".
- ^ "Applications and libraries for applied mathematical and scientific problems — Fortran Programming Language".
- ^ https://www.osc.edu/sites/default/files/documentation/allinea_manual.pdf
- ^ "Build tools — Fortran Programming Language".
- ^ "Athena". GitHub.
- ^ "Fiats". GitHub. Lawrence Berkeley National Laboratory.
- ^ "FNN". GitHub.
- ^ "FortNN". GitHub.
- ^ "fortran-tf-lib". GitHub. Cambridge ICCS.
- ^ "FTorch". GitHub. Cambridge ICCS.
- ^ "MlFortran". GitHub.
- ^ Bati, Ajay; Bryngelson, Spencer H. (2024). "RoseNNa: A performant, portable library for neural network inference with application to computational fluid dynamics". Computer Physics Communications. 296 109052. arXiv:2307.16322. Bibcode:2024CoPhC.29609052B. doi:10.1016/j.cpc.2023.109052.
- ^ "Specifications".
- ^ "Parallel programming with Fortran 2008 and 2018 coarrays".
- ^ "ScaLAPACK Users' Guide".
- ^ "Fortran Unit Testing Framework (fUnit v1.0) (LAR-17081-1)". NASA Software Catalog. Retrieved 2024-03-31.
- ^ "Squore Architecture [Administration] · Squore 25.0.0".
- ^ https://docs.scitools.com/manuals/pdf/understand.pdf