URL:     https://linuxfr.org/news/des-nouvelles-de-fortran-n-8-mai-2026
Title:   Des nouvelles de Fortran n°8 - mai 2026
Authors: vmagnin
         BAud et Benoît Sibaud
Date:    2026-05-06T19:15:18+02:00
License: CC By-SA
Tags:    fortran, compilateur et calcul_parallèle
Score:   9


Heureusement que le silicium ne fond qu'à 1414°C car GNU Fortran 16.1 va faciliter la vie de ceux qui l'aiment chaud. Ainsi va la technique, difficile pour le modélisateur de ne pas être fasciné par la puissance de sa divine machine, ce « Dieu qui met de l’ordre dans le monde » (paraît-il - NdM: [référence](https://fr.wikipedia.org/wiki/Ordinateur#cite_note-1)). D'autres actualités tout aussi brûlantes seront bien sûr abordées dans ce huitième numéro _Des nouvelles de Fortran._ Et en conclusion, on essaiera d'entrevoir ce que ça peut signifier de calculer avec 23536 cartes NVIDIA Grace Hopper GH200.

----


----

----



[Que diriez-vous d’ « ordinateur » ?](https://journals.openedition.org/bibnum/534)
[Grace Hopper](https://fr.wikipedia.org/wiki/Grace_Hopper)
[Coarrays](https://en.wikipedia.org/wiki/Coarray_Fortran)
[ICON Team Wins Gordon Bell Prize for Climate Modelling](https://www.fz-juelich.de/en/news/archive/announcements/2025/icon-team-wins-gordon-bell-prize-for-climate-modeling)



----



# Sur le front des compilateurs



## Compilateurs opérationnels



### GFortran échauffe les cœurs



FORTRAN avait 22 ans quand Donna Summer chantait [« Hot Stuff »](https://soundcloud.com/donna-summer-official/hot-stuff-3) (1979). GFortran a aujourd'hui quasiment le même âge, ayant été intégré dans GCC 4.0.0 en avril 2005 à la place de l'ancien compilateur g77. Mais faire tourner un cœur quand on aurait pu en faire tourner huit, c'était frustrant. Voilà qui est réparé, car l'équipe de développement a travaillé avec ardeur pour que GFortran gère enfin de façon native les _coarrays_ (sur les machines à un nœud, donc nos PC). Jusqu'alors, il fallait installer [OpenCoarrays](http://www.opencoarrays.org/), une surcouche du compilateur et utiliser les commandes `caf` et `cafrun`.


Ah oui, c'est quoi les _coarrays_ ? D'une façon générique, ça désigne les paradigmes de calcul parallèle introduits par Fortran 2008 (les _coarrays_ proprement dits) et Fortran 2018 _(collectives, teams, etc.)_. C'est un parallélisme de type  [SPMD](https://en.wikipedia.org/wiki/Single_program,_multiple_data) _(single program, multiple data)._ Ça mériterait peut-être un petit journal, un de ces jours.



La collection de compilateurs GCC 16.1 est sortie officiellement le 30 avril 2026. La liste des améliorations apportées aux différentes parties de GCC 16, et en particulier au compilateur GFortran, à OpenMP _(The OpenMP API specification for parallel programming)_ et OpenACC _(Open ACCelerators)_, est [ici](https://gcc.gnu.org/gcc-16/changes.html). La version 16.1.1 du 1^er mai 2026 est déjà arrivée dans Fedora 44. Chapeau bas !



### Flang



Flang, actuellement disponible en [version 22.1](https://releases.llvm.org/22.1.0/tools/flang/docs/ReleaseNotes.html) depuis le 24 février 2026, a également introduit une prise en charge expérimentale avec l'option `-fcoarray`, mais il échoue pour l'instant à compiler mes démos utilisant les _coarrays_ (testé avec Flang 22.1.4 dans Fedora 44).



Il propose également la gestion des boucles parallélisables `do concurrent` (Fortran 2008) via OpenMP.



### Intel ifx



Intel ifx, pas libre si ce n'est en tant que _free beer_ (pour se rafraîchir), est actuellement en version [2026.0.0](https://www.intel.com/content/www/us/en/developer/articles/release-notes/fortran-compiler/2026.html) sortie le 28 avril 2026. Il poursuit l'implémentation de la norme Fortran 2023 et d'[OpenMP 6.0](https://www.openmp.org/home-news/openmp-arb-releases-openmp-6-0-for-easier-programming/) (sorti en novembre 2024).



### MATLAB MEX



« Un fichier MEX est une fonction créée dans MATLAB qui appelle un programme C/C++ ou une sous-routine Fortran. » Jusqu'à maintenant, pour une raison qui nous échappe, MEX ne prenait en charge que les codes sources Fortran en format fixe, celui hérité des cartes perforées ! Désormais [MATLAB R2026a prend en charge](https://fr.mathworks.com/help/matlab/ref/mex.html#mw_f60c9c24-789b-4167-99b4-7de90fbc3f51) le format libre, introduit par la norme Fortran 90.



## En gestation



### LFortran



Le développement du compilateur [LFortran](https://lfortran.org/) continue (v0.63). Comme l'annonce cet article du [blog LFortran du 5 février 2026](https://lfortran.org/blog/2026/02/lfortran-compiles-lapack/), « tout compilateur Fortran digne de ce nom doit être capable de compiler [LAPACK](https://fr.wikipedia.org/wiki/LAPACK) _(Linear Algebra Package),_ sans doute la bibliothèque Fortran la plus célèbre et la plus influente. » Qui plus est, LFortran compile désormais également [fpm](https://lfortran.org/blog/2026/02/lfortran-compiles-fpm/). Peut-être bien que le compilateur, dont la [première version publique](https://lfortran.org/blog/2019/04/why-we-created-lfortran/) date de début 2019, passera en version Bêta à la fin de l'année. D'autant plus que le GSoC 2026 devrait aider (voir plus bas).

# Communauté Fortran-lang



## Projets Fortran-lang



### fpm (Fortran Package Manager)



Le gestionnaire de paquets et de construction de projet fpm est disponible en version [0.13](https://github.com/fortran-lang/fpm/releases/tag/v0.13.0) depuis le 17 février 2026. Il s'agit d'une mise à jour majeure, fpm permettant désormais de définir dans le manifeste `fpm.toml` de votre projet des paramètres spécifiques pour chaque compilateur et plateforme, qui peuvent être regroupés dans des profils. De plus, fpm gère désormais l'ensemble de la syntaxe conditionnelle du préprocesseur cpp. Voir cette [annonce](https://fortran-lang.discourse.group/t/fpm-version-0-13-0-released/10728) pour découvrir les autres nouveautés significatives.



### stdlib



La bibliothèque standard (de facto) est sortie en [version 0.8](https://github.com/fortran-lang/stdlib/releases/tag/v0.8.0) le 23 janvier 2026. En l'absence de communiqué officiel, je ne m'avancerai pas à lister les avancées importantes, les _pull-requests_ étant trop nombreuses… Disons simplement qu'avec 22 contributeurs, dont 13 nouveaux depuis la 0.7, ça bouillonne. Ça semblera peu à certains mais dans le petit monde du Fortran, c'est beaucoup.



## Quelques projets à l'honneur



- [fpm-modules](https://github.com/davidpfister/fpm-modules)  est un greffon fpm permettant de générer des graphiques [Mermaid](https://mermaid.js.org/) pour visualiser les dépendances entre modules Fortran. Il est développé par @davidpfister et distribué sous licence MIT.



- [quickr](https://github.com/t-kalinowski/quickr) permet de traduire une fonction R en Fortran et de l'appeler depuis R via une fonction `quick()`. Le projet est développé par @t-kalinowski sous licence MIT.



# Événements



## Journée Fortran moderne CNRS (juin 2025)



Une partie de la communauté Fortran nationale s'est réunie à l'Observatoire de Paris lors d'une journée organisée par le groupe Calcul du CNRS, le vendredi 13 juin 2025. La petite salle était bien remplie et l'ambiance chaleureuse, voire tropicale, la clim étant en panne :-)



On a pu aborder quelques points chauds de l'actualité du langage via ces présentations :


- les normes Fortran 2018 / 2023 et l'actualité des compilateurs ;
- le Fortran Package Manager ;
- la bibliothèque « standard » ;
- le Fortran sur GPU.



Les PDF sont disponibles sur cette page : https://groupe-calcul.cnrs.fr/2025-06-journee-fortran.html

## FortranCon 2025



Les 4 et 5 novembre 2025 a eu lieu la [FortranCon 2025](https://events.fortrancon.org/event/1/), troisième édition de la conférence internationale sur le développement et l'utilisation du langage de programmation Fortran. Mais on attend toujours la mise en ligne des vidéos sur la chaîne [YouTube FortranCon](https://www.youtube.com/@fortrancon).



## GSoC 2026, the Summer of Love



Pour le [Google Summer of Code 2026](https://summerofcode.withgoogle.com/programs/2026/organizations/fortran-lang), la communauté Fortran-lang conduit quatre projets centrés sur l'amélioration du compilateur LFortran. Avec bien sûr l'objectif d'offrir les fameux _coarrays_ ! Décidément, l'été sera chaud (2026 pourrait même être une année *super El Niño*, paraît-il)…



D'autant plus que côté [GCC](https://summerofcode.withgoogle.com/programs/2026/organizations/gnu-compiler-collection-gcc), s'il n'y a pas de projet directement axé GFortran, deux projets concernent des améliorations pour OpenMP et OpenACC et devraient bénéficier à tous les langages qui les gèrent.

Chez [LLVM](https://summerofcode.withgoogle.com/programs/2026/organizations/llvm-compiler-infrastructure), on note également le projet d'améliorer le débogueur LLDB pour gérer le Fortran (compilateur Flang).



# Coin lecture haute-performance



## Ménage à trois : un noyau stable



En 1995, Fortran / C / C++ forment le trio de tête dans le monde du calcul haute performance (HPC pour _High-Performance Computing_). Même trio trente ans après. L'auteur essaie d'en comprendre les raisons (ou déraisons) dans ce long article de blog très fouillé :



- Brad Chamberlain, [« Reflections on 30 Years of HPC Programming: So many hardware advances, so little adoption of new languages »](https://chapel-lang.org/blog/posts/30years/), _Chapel Language Blog,_ 9 avril 2026.



Je vous laisse lire, mais en conclusion il espère néanmoins que les choses auront changé dans 30 ans.



## À quoi ça sert tout ça ? Étude de cas



Question ellulienne par excellence, à quoi ça sert tout ça (toujours plus de puissance de calcul) ? La question est aussi pertinente, ou impertinente, que toutes les questions qu'on peut se poser dans une vie. Ça sert à créer le monde moderne, à étudier le cosmos, à calculer des trajectoires pour les sondes spatiales, à simuler des explosions nucléaires, etc. Ça sert aussi à étudier les dégâts induits.



Nous allons explorer rapidement une publication germano-helvétique. En n'étant pas dans le domaine, il ne faut pas espérer tout comprendre mais on peut en extraire quelques informations intéressantes, avec prudence pour ne pas dire trop de bêtises :

- Klocke, Daniel, Claudia Frauen, Jan Frederik Engels, et al, « Computing the Full Earth System at 1 Km Resolution », prépublication, _arXiv,_ 7 novembre 2025, https://doi.org/10.48550/arXiv.2511.02021.



Il s'agit de simuler un système Terre complet, avec une grille composée de cellules de 1,25 km de côté, prenant en compte les cycles couplés de l'eau, de l'énergie et du carbone. L'étude utilise le modèle [ICON](https://www.icon-model.org/) de prévision météo et climatique, dont le [code source](https://gitlab.dkrz.de/icon/icon-model) est disponible sous licence BSD-3-Clause. C'est essentiellement du Fortran, avec une parallélisation basée sur MPI, OpenMP et OpenACC.



Les machines utilisées sont JUPITER en Allemagne et Alps en Suisse. Concentrons nous sur la divine machine [JUPITER](https://www.fz-juelich.de/en/jsc/jupiter), qui d'après le [TOP500](https://www.top500.org/news/el-capitan-retains-1-as-jupiter-becomes-europes-first-exascale-system-in-the-66th-top500-list/) de novembre 2025 est devenue, dans sa version Booster, le premier supercalculateur [exaflopique](https://fr.wikipedia.org/wiki/Supercalculateur_exaflopique) _(exascale)_ en Europe, et le quatrième dans le monde (les trois premiers étant aux USA). Au moment de la publication de l'article, il offrait 23536 NVIDIA [Grace Hopper GH200 superchips](https://www.nvidia.com/en-us/data-center/grace-hopper-superchip/), des cartes électroniques qui tiennent à peine dans une main grande ouverte (celle du PDG). Chacune de ces cartes comprend un CPU Grace et sa mémoire (72 cœurs, 120 Go) et un GPU Hopper (avec 96 Go), avec un bus à 900 Go/s, et consomme jusqu'à 680 W. Un rapide calcul nous amène à un total de 16 MW ! De quoi faire un barbecue géant (grille, baby, grille !). Le JUPITER Booster est 4^e au TOP500, mais seulement 14^e au [Green500](https://www.top500.org/lists/green500/list/2025/11/) avec 63,3 GFlops/W. Notons enfin que le système utilisé pour exploiter la bête est Red Hat Enterprise Linux.

Les auteurs adoptent une approche séparant d'une part le code Fortran écrit par les chercheurs et d'autre part les manipulations effectuées par les ingénieurs performance pour le faire fonctionner d'une façon optimale sur le monstre. En particulier, ils ont épuré le noyau de calcul le plus intensif de la partie atmosphérique (le _dynamical core_) pour le ramener à 1400 lignes de code et ont utilisé le cadriciel [DaCe](https://spcldace.readthedocs.io/en/latest/index.html) _(Data‑Centric parallel programming)_ pour le paralléliser au mieux, au lieu d'utiliser OpenACC. Autre exemple, les auteurs tirent parti du fait que les réactions de l'océan sont beaucoup plus lentes que celles de l'atmosphère : donc l'océan sur le CPU, le reste sur le GPU.



L'équipe annonce une _compression temporelle_ $\tau = 145,7$ jours simulés par jour de calcul et conclut qu'en un peu moins de six mois de calcul on pourra simuler deux scenarii de réchauffement climatique, avec variantes, sur les trente prochaines années. _Hot stuff !_

![Tux et carte électronique](https://codeberg.org/dominoes/Les_Tuxeries/raw/branch/main/starwar/rencontre.jpg)
(source [Tuxeries](https://codeberg.org/dominoes/Les_Tuxeries/), JC, 2002, Free Art License 1.3)
