Fortran Compilers
Fortran has over a dozen open source and commercial compilers.
Compilateurs#
Open source compilers
GNU Fortran Compiler
GNU Fortran Compiler (gfortran) is a mature compiler, part of the GNU Compiler Collection.
Free and open source under GNU General Public License.
La bibliothèque OpenCoarrays permet à gfortran d’implémenter les fonctionnalités de programmation parallèle du Fortran 2018, en offrant une couche d’abstraction vers différents systèmes de programmation parallèle.
Free and open source under BSD-3 license.
LLVM Flang
Flang est un nouveau frontal Fortran 2018 qui a été récemment ajouté à LLVM. Il est implémenté en C++ moderne et utilise un dialecte MLIR orienté Fortran pour passer à la représentation intermédiaire LLVM IR. Ce projet est en phase de développement actif.
Free and open source under Apache License v2.0 with LLVM Exceptions.
Current Flang
Flang is a compiler based on the NVIDIA/PGI commercial compiler.
Free and open source under Apache License v2.0 with LLVM Exceptions.
LFortran
LFortran is a modern, interactive, LLVM-based Fortran compiler. Also available online at dev.lfortran.org using a statically served, WASM based LFortran Compiler for running code in web browsers.
Free and open source under BSD-3 license.
Commercial compilers
Intel oneAPI
Intel oneAPI est la suite Intel de compilateurs, d’outils et de bibliothèques pour les langages Fortran, C, C++ et Python. Le Toolkit Intel oneAPI HPC fournit deux compilateurs Fortran :
Intel Fortran Compiler (
ifx), a new, LLVM-based compiler that comes with full Fortran 2018 support. It also supports the majority of OpenMP 5.0/5.1 including offload to Intel GPUs. ifx can also offloaddo concurrentto Intel GPUs.Intel Fortran Compiler Classic (
ifort), a mature compiler with full Fortran 2018 support, for CPUs only.
Currently the ifx compiler supports Linux and Windows platforms for x86-64 architectures. ifort supports Linux, Windows, and macOS.
The current version of Intel oneAPI is available for free, and support can be purchased. Community support is available for the free version at the Intel Developer forum. Optionally, you can purchase Priority Support with additional benefits including access to previous versions of ifort and ifx. For licensing information related to Intel oneAPI, see the Intel End-User License Agreement.
NAG
The latest NAG Fortran Compiler release (7.0) has extensive support for legacy and modern Fortran features including parallel programming with coarrays, as well as additional support for programming with OpenMP.
Le compilateur implémente également une partie significative de la norme Fortran 2018 (opérations atomiques, événements et tâches, ainsi que d’autres éléments moins importants), presque toute la norme Fortran 2008, et intégralement la norme Fortran 2003 ainsi qu’OpenMP 3.1. Des outils de développement logiciel sont disponibles pour toutes les plates-formes : polisseurs de fichier source, générateur de dépendances pour les modules et les fichiers inclus, générateur de graphes d’appels, constructeur d’interfaces et unificateur de précision.
Purchasable from the NAG website under the NAG software license
NVIDIA
Les compilateurs C, C++ et Fortran du NVIDIA HPC SDK, anciennement appelés compilateurs PGI, prennent en charge l’accélération GPU des applications de modélisation et de simulation HPC codés en C++ et Fortran standards, ainsi que les directives OpenACC® et CUDA®. Des bibliothèques mathématiques accélérées par GPU maximisent les performances des algorithmes HPC courants, et des bibliothèques de communication optimisées permettent une programmation multi-GPU et sur systèmes évolutifs conforme aux standards.
Currently the compiler supports Linux platforms and x86_64, ppc64le and aarch64 architectures. Community support is available at the HPC compiler forum.
Freely available under NVIDIA Software License Agreement.
HPE / Cray
The Cray Compiling Environment (CCE) is the cornerstone innovation of Cray’s adaptive computing paradigm. CCE builds on a well-developed and sophisticated Cray technology base that identifies regions of computation that are either sequential scalar, vector parallel or highly multithreaded. It includes optimizing compilers that automatically exploit the scalar, vector and multithreading hardware capabilities of the Cray system. CCE supports Fortran, C and C++.
Purchasable from HPC Support Center under HPE License Terms.
IBM
IBM® XL Fortran pour Linux est un outil de programmation conforme aux standards industriels, utilisé pour développer des applications complexes en langage Fortran. Il génère du code qui exploite au mieux les capacités de la nouvelle architecture de processeur POWER9 et maximise l’utilisation de votre matériel. IBM XL Fortran pour Linux optimise votre infrastructure IBM Power Systems™ pour les grandes modélisations numériques et le calcul haute performance.
The compilers support Linux and AIX platforms and ppc64le architectures.
Purchasable from the IBM website under the relevant IBM License Agreement. A community edition of the IBM XL compilers are available free of charge.
AMD
Le système de compilation AMD Optimizing C/C++ Compiler (AOCC) permet de générer du code haute performance de qualité. L’environnement AOCC offre de nombreuses options aux développeurs pour compiler et optimiser des applications C, C++ et Fortran pour plates-formes Linux® 32 bits et 64 bits. Le système de compilation AOCC offre des optimisations poussées, le support du multi-threading et des processeurs avec optimisation globale, vectorisation, analyses inter-procédurales, transformations de boucle, et génération de code. AMD fournit également des bibliothèques hautement optimisées, qui exploitent au mieux chaque cœur de processeur x86. La suite de compilateurs AOCC simplifie et accélère le développement et la mise au point de vos applications x86.
Les compilateurs AOCC sont disponibles gratuitement, pour les plates-formes Linux et les architectures x86_64.
Freely available on the AMD website under the AMD AOCC End-User License Agreement.
ARM
Arm Fortran compiler for Linux. Tailored for HPC and scientific codes, with support for popular Fortran and OpenMP standards and tuned for leading server-class Arm-based platforms. Built on the open source Flang front-end, and the LLVM‑based optimization and code generation back-end. Available as part of the Arm Compiler for Linux package.
Freely available on the Arm website under the License agreement.
Oracle / Sun
Oracle C, C++, Fortran Compiler is highly optimized for Oracle systems, on-premise and in the cloud.
Advanced code generation technology for the latest Oracle SPARC and x86 based systems.
Support for the latest industry standards, including C++14, C++11, C11 and OpenMP 4.0 and extensive GCC compatibility features.
Automatic code analysis during compilation and automatic stack overflow protection at application runtime.
Purchasable from the Oracle website under the Oracle License and Services Agreement.
Silverfrost FTN95
Silverfrost FTN95 is a full Fortran 95 standards compliant compiler, capable of producing fast executables for Win32 and for Microsoft .NET. FTN95 ships with the world’s best runtime checking and a great range of supporting software. All standard and many vendor-specific legacy language features are supported, so that Fortran projects may be any combination of Fortran 77, Fortran 90 and Fortran 95. Some features of Fortran 2003 and 2008 have been added. Silverfrost Fortran runs on Windows / x86_64.
Purchasable from the Silverfrost website (there is also a free personal edition under the Silverfrost Fortran FTN95 License Agreement.
NEC
Le compilateur Fortran implémente la norme Fortran 2003 (ISO/IEC 1539-1:2004) ainsi que de nombreuses fonctionnalités de la norme Fortran 2008 (ISO/IEC 1539-1:2010).
Freely available from the community repository (see blog post for more information) under the SX-Aurora TSUBASA Free Software License.
LCC
MCST C, C++, Fortran Compiler with full support of Fortran-95 (ISO/IEC 1539:1997) and partial support of Fortran-2003 (ISO/IEC 1539:2004), Fortran-2008 (ISO/IEC 1539:2010) and Fortran-2018 (ISO/IEC 1539:2018). Used for Russian processor architectures Elbrus (e2k) and SPARC (MCST-R), also a cross-compiler for x86_64 architecture is available.
Discontinued
Voici une liste de compilateurs Fortran qui semblent avoir été abandonnés, et que nous n’avons donc pas répertoriés ci-dessus :
Absoft
Apogee
Edinburgh Portable Compilers
Hewlett Packard
Lahey
Watcom
PathScale
G95
Open64
Unisys
Note
Veuillez nous faire savoir si vous connaissez un compilateur qui n’est pas répertorié, ou si nous avons répertorié un compilateur dans la section Compilateurs abandonnés alors qu’il est bien activement maintenu.