Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
fortran [Le 11/09/2022, 11:35]
moths-art Suppression des espaces en fin de ligne (détecté et corrigé via le bot wiki-corrector (https://forum.ubuntu-fr.org/viewtopic.php?id=2067892)
fortran [Le 19/02/2024, 10:47] (Version actuelle)
77.128.106.214 [Editeurs et Environnement de Développement Intégré]
Ligne 3: Ligne 3:
 ====== Fortran ====== ====== Fortran ======
  
-Fortran est un langage de programmation normalisé destiné au calcul scientifique. Il intègre la programmation orientée objet et l'​interfaçage avec le langage C depuis Fortran 2003 et la programmation parallèle //​(coarrays)//​ depuis Fortran 2008. La norme actuelle est Fortran 2018 : elle améliore en particulier l'​interfaçage entre C et Fortran et ajoute de nouveaux concepts pour la programmation parallèle //(teams, events, collective subroutines).//​ La prochaine ​norme est prévue pour 2023 (nommée Fortran 202X pour l'​instant).+Fortran est un langage de programmation normalisé destiné au calcul scientifique. Il intègre la programmation orientée objet et l'​interfaçage avec le langage C depuis Fortran 2003 et la programmation parallèle //​(coarrays)//​ depuis Fortran 2008. La norme Fortran 2018 améliore en particulier l'​interfaçage entre C et Fortran et ajoute de nouveaux concepts pour la programmation parallèle //(teams, events, collective subroutines).// ​ La norme Fortran ​2023 (ISO/IEC 1539-1:2023a été publiée le 17 novembre 2023.
  
 ===== Compilateurs ===== ===== Compilateurs =====
Ligne 9: Ligne 9:
 Le langage Fortran dispose de [[https://​fortran-lang.org/​compilers/​|nombreux compilateurs]],​ en particulier : Le langage Fortran dispose de [[https://​fortran-lang.org/​compilers/​|nombreux compilateurs]],​ en particulier :
   * Le compilateur libre GNU Fortran (GFortran).   * Le compilateur libre GNU Fortran (GFortran).
-  * Le propriétaire Intel Fortran Compiler (ifort), et son successeur ifx basé sur LLVM (actuellement en version beta), téléchargeables gratuitement pour tous les développeurs depuis début 2021.+  * Le propriétaire Intel Fortran Compiler (ifort), et son successeur ifx basé sur LLVM, téléchargeables gratuitement pour tous les développeurs depuis début 2021.
   * Le compilateur commercial [[http://​www.pgroup.com/​resources/​docs.htm| PGI]] édité par [[wp>​The_Portland_Group]],​ qui devrait être remplacé prochainement par le compilateur [[https://​github.com/​flang-compiler/​flang|Flang]] intégré à LLVM.   * Le compilateur commercial [[http://​www.pgroup.com/​resources/​docs.htm| PGI]] édité par [[wp>​The_Portland_Group]],​ qui devrait être remplacé prochainement par le compilateur [[https://​github.com/​flang-compiler/​flang|Flang]] intégré à LLVM.
  
Ligne 103: Ligne 103:
 Vérifiez que les deux compilateurs Intel sont bien accessibles : Vérifiez que les deux compilateurs Intel sont bien accessibles :
 <​code>​ <​code>​
-ifort --version +ifort --version 
-ifort (IFORT) 2021.2.0 20210228 +ifort (IFORT) 2021.8.0 20221119 
-Copyright (C) 1985-2021 Intel Corporation. ​ All rights reserved. +Copyright (C) 1985-2022 Intel Corporation. ​ All rights reserved. 
-  +ifx --version 
-ifx --version +ifx (IFORT) ​2023.0.0 20221201 
-ifx (IFORT) ​2021.2.0 Beta 20210317 +Copyright (C) 1985-2022 Intel Corporation. All rights reserved.
-Copyright (C) 1985-2021 Intel Corporation. All rights reserved.+
 </​code>​ </​code>​
  
-Le nouveau ​compilateur ifx, encore en version Beta, est basé sur LLVM mais ne permet pas encore d'​utiliser ​les cotableaux (coarrays) pour le calcul parallèlemême si l'option apparaît dans son aide.+Le compilateur ifx, basé sur LLVM, est depuis sa version 2023.0.0 conforme au standard Fortran 2018 et offre les mêmes fonctionnalités qu'​ifortqu'il va progressivement remplacer.
  
 === Utilisation === === Utilisation ===
Ligne 138: Ligne 137:
 Pour utiliser OpenMP, l'​option de compilation est ''​-qopenmp''​. Pour utiliser OpenMP, l'​option de compilation est ''​-qopenmp''​.
  
-ifort supporte ​nativement la programmation parallèle à l'aide des cotableaux : il suffit d'​utiliser l'​option de compilation ''​-coarray''​.+ifort et ifx supportent ​nativement la programmation parallèle à l'aide des cotableaux : il suffit d'​utiliser l'​option de compilation ''​-coarray''​.
  
 Parmi les méthodes utilisables pour régler le nombre de //​threads///​images,​ on peut alors utiliser ces variables d'​environnement (exemple avec ici 4 //​threads//​) : Parmi les méthodes utilisables pour régler le nombre de //​threads///​images,​ on peut alors utiliser ces variables d'​environnement (exemple avec ici 4 //​threads//​) :
Ligne 152: Ligne 151:
 Les grands IDE gèrent également le Fortran : Les grands IDE gèrent également le Fortran :
  
 +  * [[https://​marketplace.visualstudio.com/​items?​itemName=fortran-lang.linter-gfortran|Visual Studio Code]].
   * [[:​code_blocks|Code::​Blocks]] : il en existe une version [[https://​cbfortran.sourceforge.io/​|CBFortran]] dédiée au Fortran. ​   * [[:​code_blocks|Code::​Blocks]] : il en existe une version [[https://​cbfortran.sourceforge.io/​|CBFortran]] dédiée au Fortran. ​
   * [[:​Eclipse]] avec le [[http://​www.eclipse.org/​photran/​|plugin Photran]] ​   * [[:​Eclipse]] avec le [[http://​www.eclipse.org/​photran/​|plugin Photran]] ​
Ligne 218: Ligne 218:
 ===== Liens ===== ===== Liens =====
   * La page française [[wpfr>​Fortran|Fortran]] fournit de nombreuses informations,​ liens et références bibliographiques concernant le Fortran.   * La page française [[wpfr>​Fortran|Fortran]] fournit de nombreuses informations,​ liens et références bibliographiques concernant le Fortran.
-  * [[https://​fortran-lang.org/​|Fortran-lang.org]] se veut depuis 2020 la page d'​accueil du langage Fortran. La communauté développe en particulier le gestionnaire de paquets Fortran fpm, une bibliothèque standard stdlib et le compilateur interactif LFortran. Les utilisateurs de Fortran se retrouve dans le [[https://​fortran-lang.discourse.group/​|Discourse Fortran]]. Un article ​académique ​[[https://arxiv.org/abs/2203.15110|"The State of Fortran"​]] a été publié en 2022.+  * [[https://​fortran-lang.org/fr/​|Fortran-lang.org]] se veut depuis 2020 la page d'​accueil du langage Fortran ​(les pages principales sont traduites en français). La communauté développe en particulier le gestionnaire de paquets Fortran fpm, une bibliothèque standard stdlib et le compilateur interactif LFortran. Les utilisateurs de Fortran se retrouve dans le [[https://​fortran-lang.discourse.group/​|Discourse Fortran]]. Un article ​en français intitulé ​[[https://www.societe-informatique-de-france.fr/wp-content/uploads/​2023/​11/​1024_22_2023_143.pdf|"​Fortran... et puis quoi encore ?"]] a été publié ​dans le //Bulletin 1024// de la [[https://​www.societe-informatique-de-france.fr/​|Société informatique de France]] ​en novembre 2023. Une traduction en anglais est disponible: [[https://​hal.science/​hal-04448657|hal-04448657]].
   * [[https://​groups.google.com/​g/​comp.lang.fortran|comp.lang.fortran]] est un groupe de discussion Usenet actif depuis 1983.   * [[https://​groups.google.com/​g/​comp.lang.fortran|comp.lang.fortran]] est un groupe de discussion Usenet actif depuis 1983.
-  * [[https://​fortranwiki.org/​fortran/​show/​HomePage|Fortran Wiki]] offre en anglais de nombreuses ressources proposées par les développeurs Fortran.+  * Le [[https://​fortranwiki.org/​fortran/​show/​HomePage|Fortran Wiki]] offre en anglais de nombreuses ressources proposées par les développeurs Fortran. La page [[https://​fortranwiki.org/​fortran/​show/​GFortran|GFortran]] donne des informations sur l'​installation,​ l'​utilisation,​ le calcul parallèle, et explique comment contribuer à GFortran.
  
  
  
  • fortran.1662888923.txt.gz
  • Dernière modification: Le 11/09/2022, 11:35
  • par moths-art