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 !

FC est un nouveau compilateur Fortran basé sur LLVM
Le prototype de 20 000 lignes implémente presque tout Fortran 95

Le , par dourouc05

30PARTAGES

4  0 
Certains prédisent Fortran comme mort, mais les projets libres de compilateur Fortran basé sur LLVM sont loin d'être au point mort. Fortran est un langage très utile pour le calcul scientifique, il est extrêmement utilisé dans bon nombre d'applications scientifiques et sur les superordinateurs. Le langage est tellement important que NVIDIA a lancé un projet de compilateur exploitant l'infrastructure LLVM, Flang. Après quelques péripéties (notamment une réécriture complète en C++), le projet semble bien parti pour une intégration à LLVM.

Pendant ce temps, Compiler Tree Technologies libère son propre compilateur Fortran basé sur LLVM, nommé FC. Ce dernier est quelque peu moins avancé que Flang, notamment au niveau des normes implémentées (seulement Fortran 77 et 95) et de l'analyse sémantique, mais ne pèse que 20 000 lignes de code, par rapport à plus de 700 000 lignes pour Flang (qui dispose de Fortran 2015, OpenMP et analyse sémantique). FC est tout de même capable de compiler plus de quatre cent tests unitaires et de générer un code intermédiaire LLVM raisonnablement optimisé. Surtout, par rapport à l'état actuel de Flang, FC respecte toutes les conventions de code de LLVM et Clang (c'est là son avantage principal), alors que Flang est en cours de réécriture complète pour y arriver (notamment avec un passage du C au C++ et une restructuration complète).

Dans les fonctionnalités implémentées, on compte notamment toutes les structures du langage (do, do-while, where, select-case, forall, implied-do, fonctions imbriquées, modules, sous-routines), y compris imbriquées, les entrées-sorties (avec un niveau de formatage basique), les constructeurs et opérateurs sur tableaux, les fonctions intrinsèques (un total de quarante sur deux cents, dont transpose, reshape, min, max, sum) et la gestion dynamique de la mémoire (malloc/free). Les structures (types dérivés) ne sont pas entièrement implémentés, c'est en cours. Quelques informations de débogage sont émises. Au niveau de l'analyse sémantique, FC ne dispose que d'une passe d'analyse des alias exploitant les types (TBAA).

FC est disponible sous licence BSD.

Source : FC: A new LLVM based Fortran Frontend.

Et vous ?

Qu'en pensez-vous ?

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

Responsable bénévole de la rubrique HPC : Thibaut Cuvelier -

Partenaire : Hébergement Web