Vue normale

Il y a de nouveaux articles disponibles, cliquez pour rafraîchir la page.
À partir d’avant-hierinformatique général
  • ✇LinuxFr.org : les dépêches
  • Des nouvelles de Fortran n°8 - mai 2026
    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). 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 calcu

Des nouvelles de Fortran n°8 - mai 2026

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). 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.

    Sommaire


    Que diriez-vous d’ « ordinateur » ?
    Grace Hopper
    Coarrays
    ICON Team Wins Gordon Bell Prize for Climate Modelling


    Sur le front des compilateurs

    Compilateurs opérationnels

    GFortran échauffe les cœurs

    FORTRAN avait 22 ans quand Donna Summer chantait « Hot Stuff » (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, 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 (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. La version 16.1.1 du 1er mai 2026 est déjà arrivée dans Fedora 44. Chapeau bas !

    Flang

    Flang, actuellement disponible en version 22.1 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 sortie le 28 avril 2026. Il poursuit l'implémentation de la norme Fortran 2023 et d'OpenMP 6.0 (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 le format libre, introduit par la norme Fortran 90.

    En gestation

    LFortran

    Le développement du compilateur LFortran continue (v0.63). Comme l'annonce cet article du blog LFortran du 5 février 2026, « tout compilateur Fortran digne de ce nom doit être capable de compiler 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. Peut-être bien que le compilateur, dont la première version publique 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 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 pour découvrir les autres nouveautés significatives.

    stdlib

    La bibliothèque standard (de facto) est sortie en version 0.8 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 est un greffon fpm permettant de générer des graphiques Mermaid pour visualiser les dépendances entre modules Fortran. Il est développé par @davidpfister et distribué sous licence MIT.

    • 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, 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.

    GSoC 2026, the Summer of Love

    Pour le Google Summer of Code 2026, 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, 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, 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é :

    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 de prévision météo et climatique, dont le code source 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, qui d'après le TOP500 de novembre 2025 est devenue, dans sa version Booster, le premier 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, 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 4e au TOP500, mais seulement 14e au Green500 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 (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
    (source Tuxeries, JC, 2002, Free Art License 1.3)

    Commentaires : voir le flux Atom ouvrir dans le navigateur

    • ✇LinuxFr.org : les dépêches
    • Des nouvelles de Fortran n°7 - juillet 2025
      Dans les actualités Fortran, on abordera en particulier la troisième édition de la conférence internationale Fortran, la sortie officielle du nouveau compilateur Flang dans LLVM et les actualités du gestionnaire de paquets fpm. Et comme c'est bientôt les vacances, on terminera par une section consacrée à Fortran dans la culture populaire, où l'on apprendra entre autres que le Nostromo avait un neuvième passager… lien nᵒ 1 : Alien, le huitième passagerlien nᵒ 2 : Organisation Fortran-lang.orglien

    Des nouvelles de Fortran n°7 - juillet 2025

    Par : vmagnin
    17 juillet 2025 à 06:42

    Dans les actualités Fortran, on abordera en particulier la troisième édition de la conférence internationale Fortran, la sortie officielle du nouveau compilateur Flang dans LLVM et les actualités du gestionnaire de paquets fpm. Et comme c'est bientôt les vacances, on terminera par une section consacrée à Fortran dans la culture populaire, où l'on apprendra entre autres que le Nostromo avait un neuvième passager…

    Sommaire

    Appel à contributions pour FortranCon 2025

    FortranCon 2025 est la troisième édition de la conférence internationale sur le développement et l'utilisation du langage de programmation Fortran, et aura lieu les 4 et 5 novembre 2025. Avec cette conférence, nous avons l'intention de rassembler les développeurs actifs du projet Fortran dans tous les domaines : les développeurs de bibliothèques et d'outils ainsi que les personnes utilisant Fortran pour développer des applications scientifiques, afin de partager leur expérience et d'échanger des idées. L'événement est organisé sur Zoom grâce aux contributions de la communauté pour la communauté.

    Le discours d'ouverture sera prononcé par John Reid, membre actif du comité Fortran de l'ISO/IEC JTC1/SC22/WG5 (et animateur du comité de 1999 à 2017). C'est également l'un des auteurs du livre de référence Modern Fortran explained, dont la sixième édition (couverture orange) inclut Fortran 2023.

    Les vidéos des présentations des éditions 2020 et 2021 sont toujours en ligne sur la chaîne YouTube FortranCon.

    Dates limites

    • Inscription (gratuite) : 15 octobre 2025.
    • Premier appel à résumés : 1er août 2025 (décisions envoyées avant le 30 août 2025).
    • Deuxième appel à résumés : 1er septembre 2025 (décisions envoyées avant le 30 septembre 2025).

    Sur le front des compilateurs

    Compilateurs opérationnels

    Flang (LLVM)

    Dans LLVM 20.1, sorti en mars 2025, flang-new a été rebaptisé flang et remplace son prédécesseur du même nom. Il s'agit donc du lancement officiel de ce nouveau compilateur soutenu par NVIDIA et le Département de l’Énergie américain, après sept ans de développement. Un article très complet du blog LLVM relate cette longue aventure :

    La doc de Flang présente même une pierre de Rosette pour les gens connaissant le C ou le C++ et souhaitant débuter en Fortran.

    Intel ifx

    Intel ifx (basé sur LLVM) est actuellement en version 2025.2.0, avec en particulier quelques améliorations du côté Fortran 2023 et OpenMP 6.0, par rapport à la 2025.1.0 qui améliorait également ces deux points.

    GFortran (GCC)

    GFortran est en version 15.1. Attention, les fichiers .mod générés par GFortran 15 ne sont pas compatibles avec les versions antérieures. Si vous ne savez pas de quoi je parle, les .mod c'est un peu l'équivalent des fichiers headers .h en C, mais en pire puisque ce sont des fichiers binaires pas normalisés, donc pas interopérables entre les différents compilateurs Fortran, voire comme ici entre différentes versions. Bref, pas glop !

    Parmi les six projets GCC du GSoC 2025, on en trouve un pour améliorer la prise en charge par GFortran de certaines fonctionnalités des normes Fortran 2018 et 2023. Le compilateur libre a également reçu 360 k€ de la Sovereign Tech Agency allemande, en particulier pour offrir un support direct des coarrays (co-tableaux) pour le calcul parallèle sur systèmes à mémoire partagée (pour l'instant il est nécessaire d'installer la bibliothèque OpenCoarrays pour les utiliser avec GFortran).

    En gestation

    Le développement du compilateur LFortran continue. Il s'approche tranquillement de la version beta, compilant déjà huit bibliothèques Fortran matures sur les dix définies pour ce jalon. On notera d'ailleurs que parmi les cinq projets de la communauté Fortran-lang du GSoC 2025, un projet a pour objectif de réussir à compiler le gestionnaire de paquets fpm avec LFortran. Une bonne façon de faire progresser le compilateur !

    Fedora ou F comme Fortran ?

    Une des meilleures distributions Linux pour faire du Fortran est peut-être Fedora. On trouve en effet directement dans ses dépôts pas moins de trois compilateurs Fortran libres en versions récentes : GFortran (GPL), Flang (licence Apache) et LFortran (licence BSD). Quand à Intel ifx, on pourra facilement l'installer par exemple dans un environnement Conda (paquet ifx_linux-64). Et avec la Fedora Rawhide, c'est bien sûr encore plus saignant (bleeding edge) au niveau des versions !

    Communauté Fortran-lang

    Projets Fortran-lang

    fpm

    Le gestionnaire de paquets Fortran fpm est disponible en version 0.12 depuis le 18 mai 2025. Parmi les nouveautés, on notera :

    • un fichier compile_commands.json exporté par défaut à chaque fois que l'on construit un projet avec fpm, ce qui facilitera son intégration avec d'autres outils, en particulier les IDE.
    • Deux nouveaux métapackages disponibles : BLAS/LAPACK et NetCDF.
    • La possibilité de générer des bibliothèques partagées, et non plus uniquement statiques.

    Du côté des greffons, on citera fpm-modules et fpm-deps qui permettent de visualiser les dépendances d'un projet fpm à l'aide d'outils tels que Mermaid ou Graphviz.

    Quelques projets divers

    • Fortitude 0.7.3 : un linter Fortran sous licence MIT, écrit en Rust et installable via Python.

    • Seer : une interface graphique pour gdb pour Linux, qui prend en charge de nombreux langages, dont Fortran. Licence GPL 3.0.

    • Codee commercialise un analyseur de code Fortran / C / C++ et un formateur de code Fortran. Ce dernier peut néanmoins être utilisé gratuitement pour un usage personnel. « Codee se distingue en tant que plateforme de développement Fortran, C et C++, en favorisant la correction du code, la modernisation, la sécurité, la portabilité et l'optimisation afin d'aider les développeurs à fournir des logiciels rapides, faciles à maintenir et fiables, conformes aux normes de l'industrie. » Codee vient de sortir en version 2025.3.

    Fortran et culture populaire

    Alien

    Comme vous le savez peut-être, le Nostromo est le vaisseau spatial du film Alien (1979). Lors de l'atterrissage sur la lune Acheron LV-426, l'ordinateur de bord affiche un modèle 3D de son relief. Sur cet extrait sur YouTube, vous pouvez le voir plusieurs fois à partir de l'instant 2:28. Ce modèle est présenté par son auteur dans l'article suivant :

    Le code ne faisait que 14 pages de code FORTRAN et son auteur explique :

    Le matériel utilisé était un Prime 300 connecté à un FR 80 de III (Information International, Inc.) qui peut tracer directement sur pellicule. Le logiciel d'animation Frolic, développé par C. Emmett, tournait sur ce système dans les laboratoires du SRC à Oxfordshire.

    Mon programme était écrit en FORTRAN avec des appels aux sous-routines Frolic.

    Années 70 obligent, le graphisme n'est pas sans rappeler le signal du pulsar CP1919 tracé informatiquement par Harold D. Craft Jr dans sa thèse soutenue en 1970 et popularisé par Peter Saville sur la pochette de l'album Unknown Pleasures, dont je vous avais déjà parlé. Quarante-six ans après la sortie du film Alien, on pourra s'amuser de constater que n'importe quelle voiture actuelle a un écran couleur bien plus high-tech que celui du Nostromo ! Mais dix ans avant, le premier alunissage avait eu lieu avec une informatique et une électronique qui semblent aujourd'hui rudimentaires. C'est que se déplacer est avant tout un problème de mécanique (éventuellement céleste). Côté déplacement, le Nostromo reste quand même très largement en avance sur les starships actuels.

    Fortran dans les dessins animés américains

    Le langage semble avoir laissé des traces, plutôt bienveillantes, chez les (vieux) étudiants américains :

    • Dans la série d'animation Futurama, Olde Fortran est une marque de liqueur de malt (bière forte) consommée par le robot Bender, une sorte de boisson énergisante pour lui. On y voit aussi des jackpots Wheel of Fortran (roue de la fortune… Algorithme Monte Carlo ?).
    • Dans Les Simpson, épisode « L'homme qui vint pour être le dîner » (2015), un extraterrestre dit à 1:23 :

    « En tant que jeunes choses insignifiantes, nous sommes éduqués dans la sagesse de l'univers. Physique, mathématiques, FORTRAN - le plus grand des langages de programmation ! »
    (“As young thinglings, we are schooled in the wisdom of the universe. Physics, mathematics, FORTRAN - the greatest of the programming languages!”)

    Commentaires : voir le flux Atom ouvrir dans le navigateur

    • ✇LinuxFr.org : les dépêches
    • Des nouvelles de Fortran n°6 - décembre 2024
      Que s’est-il passé dans le monde du Fortran depuis décembre 2023 ? Nous avons un centenaire à fêter (non, ce n’est pas le vieux barbu coincé dans la cheminée), ainsi qu’un nouveau Roi (il n’est pas libre, mais tant pis pour lui, il n’avait qu’à choisir de vivre dans une amphore). Sans oublier un artiste octogénaire (on en profite pour explorer les liens entre FORTRAN et art dans les années 60-70). Et on déconstruit enfin un mythe sur les ordinateurs des sondes Voyager. lien nᵒ 1 : Organisation F

    Des nouvelles de Fortran n°6 - décembre 2024

    Que s’est-il passé dans le monde du Fortran depuis décembre 2023 ? Nous avons un centenaire à fêter (non, ce n’est pas le vieux barbu coincé dans la cheminée), ainsi qu’un nouveau Roi (il n’est pas libre, mais tant pis pour lui, il n’avait qu’à choisir de vivre dans une amphore). Sans oublier un artiste octogénaire (on en profite pour explorer les liens entre FORTRAN et art dans les années 60-70). Et on déconstruit enfin un mythe sur les ordinateurs des sondes Voyager.

    Sommaire

    John Backus est né il y a cent ans

    John Backus (1924-2007), père du langage, est né à Philadelphie le 3 décembre 1924. Le site mathématique MacTutor propose une biographie intéressante (en anglais) du mathématicien/informaticien, avec des citations. Par exemple, à propos de ses années dans le secondaire :

    I flunked out every year. I never studied. I hated studying. I was just goofing around. It had the delightful consequence that every year I went to summer school in New Hampshire where I spent the summer sailing and having a nice time.

    Sur le front des compilateurs

    Compilateurs opérationnels

    Le Roi est mort, vive le Roi ! Le compilateur classique Intel ifort n’est plus maintenu à partir d’Intel® Fortran Compiler 2025.0, sorti le 31 octobre 2024. Sa version définitive est la 2021.13. C’est son dauphin Intel ifx, basé sur LLVM, qui prend le relais, après être sorti de sa version beta avec la 2022.0.

    Mais « si je n’étais Intel ifx, je voudrais être GNU Fortran ». Au moins, l’animal est libre, dans l’immensité des savanes. Certains anciens prétendent même en avoir aperçu un assis en tailleur et jouant de la flûte. GFortran, compilateur Fortran de la GCC, en est à la version 14.2. On notera des améliorations concernant OpenMP et OpenACC. Si le compilateur accepte désormais l’option -std=f2023, ne nous réjouissons pas trop vite. Pour l’instant la nouvelle fonctionnalité gérée concerne l’augmentation de la longueur des lignes à 10 000 caractères (au lieu de 132 depuis Fortran 90) et des instructions à un million de caractères (elles peuvent être continuées sur un grand nombre de lignes). À quoi ça sert ? C’est utile pour des codes générés automatiquement.

    En gestation

    Il faut 22 mois de gestation pour un éléphant, mais beaucoup plus pour un nouveau compilateur Fortran ! On doit non seulement implémenter près de 700 pages de norme technique, mais aussi tout un tas de choses externes telles que MPI, OpenMP ou OpenACC pour le calcul parallèle, et gérer de nombreuses architectures matérielles. On comprend donc que les motivations sous-jacentes doivent être puissantes pour s’attaquer à un tel chantier et on comprend pourquoi la plupart des nouveaux compilateurs s’appuient sur l’infrastructure LLVM.

    L’avancée du travail sur le nouveau Flang pour LLVM est décrite dans le dernier Flang Liaison Report au J3 (24/10/2024). Et d’après Phoronix, flang-new a été rebaptisé flang pour la version LLVM 20.1 du printemps prochain, ce qui est de bon augure. Flang est un projet soutenu par NVIDIA et le Département de l’Énergie américain.

    AMD travaille de son côté à sa version Next-gen Fortran compiler permettant le délestage (offloading) des instructions OpenMP sur ses GPU. Bref, c’est chaud dans le monde du calcul parallèle sur processeur graphique !

    Le développement du compilateur LFortran continue. Il passera en version beta quand il sera capable de compiler une sélection de dix bibliothèques Fortran matures : en décembre 2023, il en était à 4/10. Il est désormais à 7/10. Et il a été annoncé en novembre 2024 que LFortran gérait désormais toutes les fonctions intrinsèques de Fortran 2018. Le même blog présente également quelques démos en ligne du back-end WebAssembly de LFortran.

    Fortran 2028

    Alors que les compilateurs n’implémentent pour l’instant que certaines parties de Fortran 2023, la prochaine mouture est déjà en cours d’élaboration. Et on commence à voir l’appellation Fortran 2028 apparaître dans les documents du comité J3 à la place de 202Y. Dans la liste des caractéristiques retenues par le groupe de travail WG5 fin juin, on trouve en particulier :

    • des templates pour la programmation générique ;
    • la gestion des tâches asynchrones ;
    • un pré-processeur Fortran ;
    • la possibilité de définir les KIND utilisés par défaut dans un programme (on pourrait par exemple demander dans le code lui-même que tous les REAL soient considérés comme des REAL64, ou REAL32 ou REAL128).

    La proposition d’ajouter au langage des entiers non signés a disparu (pour l’instant ?), malgré l’option expérimentale -funsigned qui sera disponible dans GFortran 15.

    Communauté Fortran-lang

    Projets Fortran-lang

    L’organisation Fortran-lang est désormais financée par l’organisation américaine à but non lucratif NumFOCUS.

    fpm

    Le gestionnaire de paquets Fortran fpm est disponible en version 0.10.1 depuis mars 2024. Une liste d’environ 300 projets utilisant fpm est disponible ici.

    stdlib

    La bibliothèque standard stdlib est sortie en version 0.7.0 début juillet. Elle apporte entre autres choses les valeurs CODATA 2022 des constantes physiques fondamentales. Ces valeurs, utilisées par tous les physiciens, sont mises à jour par le NIST (National Institute of Standards and Technology) tous les quatre ans, au fil des progrès en métrologie.

    Quelques projets divers

    • Fortitude, un linter écrit en Rust, est disponible en version 0.6.2.
    • Le projet fprettify, un utilitaire de formatage automatique de code Fortran, écrit en Python, a été officiellement adopté par l’organisation Fortran-lang.
    • forgex, un moteur d’expressions régulières entièrement écrit en Fortran, est disponible en version 3.5.

    Art et Fortran

    C’est Noël, on veut ce qui n’a pas de prix, on veut du beau ! Que la technologie serve à faire du beau.

    Earl Einhorn, 81 ans, crée ses images à l’aide de programmes Fortran depuis 1989, et utilise Photoshop pour finaliser les couleurs. Ses œuvres actuelles comportent souvent des visages, leur symétrie facilitant son travail depuis la perte de son œil droit. Vous pouvez voir son travail sur son site. Il y explique qu’actuellement il crée typiquement des images de 12 000 sur 15 000 pixels, ce qui lui permet de les imprimer en 300 PPP pour des tableaux d’environ un mètre de côté.

    Voilà qui peut sembler original, mais dans les années 60-70 de nombreux artistes ont en fait utilisé FORTRAN 1 pour explorer ce que l’ordinateur, machine alors révolutionnaire et rare, pouvait apporter à la musique, aux arts graphiques et à la poésie. Pourquoi FORTRAN ? C’était simplement le langage dominant et facile à apprendre à l’époque, le Python des Beatles !

    En 1963, Iannis Xenakis (1922-2001) publie son livre Musiques formelles : nouveaux principes formels de composition musicale. Le chapitre IV « Musique Stochastique libre, à l’ordinateur » contient le listing du programme en FORTRAN IV utilisé pour générer sur IBM 7090 une œuvre de musique stochastique intitulée ST/10=1,080262. Il est maintenant en ligne sur GitHub. Au fait, bonne écoute !

    Pierre Barbaud (1911-1990) a également utilisé FORTRAN pour composer par exemple une oeuvre de musique électronique intitulée Terra incognita ubi sunt leones (1973). Le début du code est visible ici (hum… que penser de cet appel répété à cette procédure : CALL GIRL(IDIV) ?). Bonne écoute !

    Au niveau des arts graphiques, on pourrait penser que les imprimantes de l’époque étaient rudimentaires, mais ce serait oublier les traceurs (plotters), ou tables traçantes, qui permettaient de tracer des dessins techniques avec précision 2. Les artistes programmeurs (ou programmeurs artistes) vont s’en emparer.

    Dans les années 60, l’artiste japonais Hiroshi Kawano a travaillé sur sa série Artificial Mondrian. Le site du Zentrum für Kunst und Medien Karlsruhe présente son oeuvre KD 52, réalisée en 1969 à l’aide d’un programme en FORTRAN IV pour les formes et peinte ensuite à la gouache. On pourra lire cet article de blog : « The man-machine: Hiroshi Kawano’s algorithmic Mondrian » par Claudio Rivera.

    En 1962, A. Michael Noll (Bell Labs) a commencé à utiliser un Stromberg Carlson SC-4020 microfilm plotter pour faire des dessins abstraits. Un faisceau d’électrons dessinait les formes sur un écran cathodique qui lui-même impressionnait un microfilm. Il rend compte de ses premières expérimentations dans ce mémo daté du 28 août 1962, avec bien sûr un court code FORTRAN.

    On peut également citer l’Allemand Manfred Mohr, né en 1938. Voir son site et l’article de blog « Surveying Manfred Mohr’s Five-Decade Collaboration with the Computer » (2019). Citons aussi le Slovène Edward Zajec (1938 – 2018) dont on peut voir des oeuvres sur cette page. Son assistant Matjaž Hmeljak a continué sa carrière dans l’art génératif au moins jusqu’en 2020.

    Les œuvres de Vera Molnár (1924-2023), pionnière de l’art génératif, ont été exposées à la biennale de Venise en 2022. Elle a écrit en 1974-1976 un programme baptisé Molnart avec son mari :

    François Molnar et moi avons conçu et mis au point un programme souple qui permet une expérimentation picturale systématique. Il est écrit en Fortran pour ordinateur de grande capacité relié à un écran de visualisation et à un traceur.

    Voir également :

    Dans le domaine des arts graphiques, vous trouverez plus d’œuvres numériques réalisées entre 1963 et 1980 à l’aide de FORTRAN sur le site compart.

    Même les poètes ont utilisé FORTRAN. L’écrivain portugais Pedro Barbosa a ainsi publié en 1977 un livre intitulé A literatura cibernética 1. Autopoemas gerados por computador. On peut y lire des extraits de code. Et le poète brésilien Erthos Albino de Souza a utilisé FORTRAN et PL/1 pour créer des poèmes graphiques.

    J. M. Coetzee, prix Nobel de littérature 2003, a commencé sa carrière comme programmeur chez IBM dans les années 60. Il a expérimenté la génération automatique de poésie : « The line generator was composed in a combination of FORTRAN-style pseudocode and assembly code », comme rapporté dans cet article :

    Déconstruction

    Depuis 2013 circulait l’idée que les logiciels internes des sondes spatiales Voyager 1 et Voyager 2, lancées en 1977, avaient été écrits originellement en FORTRAN. Le buzz remonte apparemment à un article intitulé « Interstellar 8-Track: How Voyager’s Vintage Tech Keeps Running » paru dans Wired. Charles A. Measday a publié sur son blog début 2024 un article approfondi intitulé « Voyager and Fortran 5 » qui déconstruit ce mythe urbain. Si une partie des logiciels au sol ont été écrits à l’époque en FORTRAN, les ordinateurs de bord des sondes étaient et sont toujours programmés en assembleur, ainsi qu’à l’aide de séquences de commandes spécifiques aux sondes.

    La citation de Backus

    Terminons en revenant au point de départ de la dépêche, avec une citation de Backus issue d’une de ses dernières interviews en 2006. Voici son bon conseil pour les jeunes :

    Well, don’t go into software. It’s just such a complicated mess that you just frazzle your brains trying to do anything worthwhile.


    1. On écrit le nom du langage en majuscules pour la période avant Fortran 90. 

    2. Ce n’est peut-être pas un hasard si le langage Logo, avec sa célèbre tortue, est créé à cette époque (1967). 

    Commentaires : voir le flux Atom ouvrir dans le navigateur

    ❌
    ❌