Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

f18 officiellement proposé comme sous-projet LLVM
Le compilateur Fortran libre développé notamment par NVIDIA

Le , par dourouc05

69PARTAGES

13  0 
La suite de compilateurs LLVM est notamment connue pour Clang, son compilateur C et C++, mais aussi pour la kyrielle d'autres projets qui utilisent son infrastructure afin de faciliter leur développement ]comme Julia, qui utilise LLVM pour garantir une exécution extrêmement rapide).

Il y a de cela un certain temps (en 2015, précisément), NVIDIA voulait ajouter Fortran à la liste des langages implémentés par LLVM, avec le projet Flang. Il a fallu du temps avant que le projet soit vraiment officialisé. Le développement a eu lieu avec bien d'autres parties intéressées, comme ARM ou le DoE (ministère américain de l'énergie). Désormais, NVIDIA cherche à faire intégrer le code source du successeur de Flang, f18, dans le projet LLVM, au même niveau que Clang.

Pour le moment, f18 implémente une bonne partie du langage Fortran : l'analyse syntaxique gère toute la norme Fortran 2018 ainsi qu'OpenMP 4.5, même si toute l'infrastructure derrière cette analyse syntaxique n'est pas encore prête. L'objectif de ses développeurs est de soumettre le code à LLVM (y compris l'implémentation de la bibliothèque standard), puis de continuer le développement des fonctionnalités manquantes : il faut encore effectuer un certain nombre de refactorisations (notamment pour découpler la bibliothèque standard du compilateur), des choix cohérents avec le reste de l'infrastructure LLVM doivent être posés.

Le plus gros frein, selon les développeurs de f18, est l'utilisation de C++17 pour l'implémentation du compilateur, alors que LLVM est en pleine transition vers C++14 (un processus assez lent pour s'assurer que tous ceux qui utilisent LLVM ne soient pas tirés en arrière par des besoins trop évolués). Certains développeurs de LLVM trouvent que ce n'est pas un problème, puisqu'il n'y a pas de rétrocompatibilité cassée : f18 est un tout nouveau projet pour LLVM ; certains ressortent des excuses basées sur le fait que toutes les machines utilisées par le projet LLVM ne sont pas forcément assez à jour pour C++17, ce qui limiterait les possibilités en termes d'intégration continue. L'intégration des deux projets pourrait aussi être limitée par le fait que certains développeurs de LLVM pourraient souhaiter utiliser certaines fonctionnalités de f18 dans d'autres parties du projet.

Source : GitHub, LLVM Mailing list

Une erreur dans cette actualité ? Signalez-le nous !