• [^] # Re: LFortran vs Flang

    Posté par (site web personnel, Mastodon) . En réponse à la dépêche Des nouvelles de Fortran n°3 - Février 2022. Évalué à 6.

    Les trois nouveaux compilateurs en développement ces dernières années utilisent LLVM : Flang, Intel ifx, LFortran.

    LFortran et Flang sont deux projets parfaitement indépendants :

    • concernant Flang, c'est un projet soutenu par NVidia. Ma compréhension est que pour l'instant Flang est capable de parser un code Fortran, de le manipuler et de générer un autre code Fortran générique puis de l'envoyer à un compilateur (GFortran par défaut). C'est ce qu'on peut constater quand on l'essaie, il appelle in fine GFortran. Donc le code machine n'est pas encore généré par LLVM. Enfin, attention aux confusions possibles : il y a l'ancien Flang, et le nouveau Flang qui s'est appelé un temps f18 avant d'être rebaptisé Flang comme l'ancien... :-(

    • LFortran est initialement un projet personnel d'Ondřej Čertík, du Los Alamos National Laboratory. D'après ce que je comprends, il est effectivement plus avancé puisqu'il est non seulement capable de parser et analyser le code Fortran mais qu'il dispose déjà de trois backends : génération de binaires via LLVM ou directement en code x86, et génération d'un code C++ équivalent. Il est également architecturé pour être utilisable en tant que librairie. Enfin, une fonctionnalité majeure est qu'il peut être utilisé dans des notebooks Jupyter, ce qui va ouvrir pas mal de possibilités.

    Dans les deux cas, il y a aussi bien sûr la problématique de faciliter l'utilisation du calcul parallèle sur des architectures très diverses...