+ Répondre à la discussion Actualité déjà publiée
  1. #1
    Responsable Qt


    Avatar de dourouc05
    Homme Profil pro
    Ingénieur de recherches
    Inscrit en
    août 2008
    Messages
    22 268
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur de recherches
    Secteur : Enseignement

    Informations forums :
    Inscription : août 2008
    Messages : 22 268
    Points : 121 427
    Points
    121 427

    Par défaut Des nouvelles de Flang, le compilateur Fortran basé sur LLVM

    Après un an et demi de travaux, le compilateur Fortran basé sur LLVM promis par NVIDIA arrive enfin sur GitHub, bien que sans annonce officielle. Le projet a commencé avec un étudiant (financé par le programme Google Summer of Code) en 2013 sous le nom de Flang (analogue de Clang, le compilateur LLVM pour le C et ses dérivés), puis a été repris par NVIDIA et la sécurité nucléaire du département américain en 2015. L’objectif était de fournir un compilateur libre de très haute qualité, notamment basé sur celui de PGI.

    Avec le développement de LLVM, ce projet apporte de plus en plus de promesses à l’écosystème Fortran. Par exemple, LLVM permet de compiler du code pour les GPU NVIDIA : grâce à Flang, il sera très facile d’offrir un compilateur libre pour ce faire (sans devoir utiliser celui de PGI). Également, OpenMP permet de décharger l’exécution du code sur un accélérateur : GCC ne le permet pas encore pour des cartes graphiques, uniquement les coprocesseurs Intel Xeon Phi ; LLVM, quant à lui, gère les cartes NVIDIA et les coprocesseurs Intel Xeon Phi.

    Pour le moment, Flang fonctionne avec LLVM 3.9 (presque la dernière version). Les sources de la version 1.0 sont en ligne depuis une semaine (avec des commits d’employés de NVIDIA et de PGI), mais aucune annonce officielle n’a encore été faite (la documentation fait référence à un site qui n’existe pas encore, http://flang.nvidia.com/). La norme Fortran 2008 est implémentée, mais aucune information n’est donnée sur le niveau de compatibilité (le compilateur de PGI n’implémente pas toute la norme). La grande différence par rapport au compilateur de PGI devrait être la qualité des messages d’erreur, du niveau de Clang.
    Vous souhaitez participer aux rubriques Qt ou PyQt (tutoriels, FAQ, traductions) ? Contactez-moi par MP.

    Nouveau ! Créer des applications graphiques en Python avec PyQt5
    Créer des applications avec Qt 5.

    Pas de question d'ordre technique par MP !

  2. #2
    Responsable Qt


    Avatar de dourouc05
    Homme Profil pro
    Ingénieur de recherches
    Inscrit en
    août 2008
    Messages
    22 268
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur de recherches
    Secteur : Enseignement

    Informations forums :
    Inscription : août 2008
    Messages : 22 268
    Points : 121 427
    Points
    121 427

    Par défaut Flang, le compilateur Fortran basé sur LLVM, enfin annoncé

    Le compilateur Fortran pour LLVM a été officiellement présenté
    Les premiers détails techniques de Flang disponibles

    L’annonce du développement de Flang est loin d’être récente : elle date de novembre 2015. Ensuite, silence radio, jusqu’à l’ouverture du dépôt Flang sur GitHub, en mai de cette année. Un développeur de NVIDIA vient d’annoncer officiellement l’ouverture du projet au grand public.

    En quelques mots, Flang est la culmination d’un effort de NVIDIA, plus particulièrement sa filiale PGI (connue pour son compilateur Fortran), sous l’impulsion donnée par la NNSA du Département de l’énergie américain. Ces presque deux ans de projet ont mené assez loin. L’objectif était de partir du compilateur existant de PGI et de le porter pour qu’il utilise l’infrastructure de LLVM (représentation intermédiaire, passes d’optimisation, génération du code assembleur, etc.), pas d’écrire un compilateur de zéro.

    En l’état, Flang possède les mêmes fonctionnalités que le compilateur de PGI, c’est-à-dire l’entièreté de la norme Fortran 2003, quelques fonctionnalités de la révision de 2008 et des extensions propriétaires pour améliorer la compatibilité avec le Fortran primitif. Contrairement à Clang, qui est à la pointe en termes de fonctionnalités des derniers standards C++, Flang ne s’intéresse pas à Fortran 2015 pour le moment ; pour Fortran 2008, la priorité est mise sur les sous-modules et les constructions BLOCK et DO CONCURRENT. Au niveau d’OpenMP, Flang utilise la bibliothèque de support de LLVM ; la version 4.5 de la norme est presque entièrement implémentée pour les processeurs multicœurs.

    Contrairement à Clang et au projet LLVM en général, Flang est principalement écrit en C et cela ne devrait pas changer. Ce choix a été posé pour reprendre autant de code de PGI que possible, tout en respectant les règles de codage du projet LLVM. L’objectif est de passer à C++ dans le futur, les développeurs sont ouverts à la discussion, mais préféreront se focaliser sur des points précis à discuter avec la communauté. Au niveau de la licence, Flang est actuellement disponible sous la licence Apache, mais sera distribué sous la même licence que LLVM lorsque son code aura été approuvé pour intégration à LLVM. En l’état, Flang passe toute la suite de tests de PGI, de nouveaux sont ajoutés en permanence.

    Côté technique, Flang n’utilise pas les API de LLVM pour générer la représentation intermédiaire des programmes Fortran : il écrit directement dans un fichier, puis fait appel à opt et llc au besoin par la suite. La partie frontale de Flang est organisée en deux exécutables, l’un étant prévu pour les utilisateurs (il gère les paramètres de compilation) et appelant le deuxième pour la compilation effective. Pour le moment, il ne fonctionne que sous Linux, sur les architectures x86-64 (pour le grand public), ARM (comme les téléphones portables et certains nouveaux supercalculateurs) et OpenPOWER.

    Source : [Flang-announce] Flang Fortran front-end for LLVM.
    Vous souhaitez participer aux rubriques Qt ou PyQt (tutoriels, FAQ, traductions) ? Contactez-moi par MP.

    Nouveau ! Créer des applications graphiques en Python avec PyQt5
    Créer des applications avec Qt 5.

    Pas de question d'ordre technique par MP !

  3. #3
    Membre éprouvé
    Profil pro
    Inscrit en
    décembre 2004
    Messages
    519
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : décembre 2004
    Messages : 519
    Points : 904
    Points
    904

    Par défaut

    Les vieux ont la santé...
    "Inventé en 1954, c'est le plus ancien langage de programmation de haut niveau, suivi notamment par Lisp (1958), Algol (1958) et COBOL (1959)."
    A part Algol qui a disparu, les autres sont toujours là. Et on n'entend pas parler de Fortran++, ni de Gortrand, encore moins de Hortran... Est-ce que ça veut dire que la résistance au changement est bien plus forte qu'on ne le pense, ou bien que Fortran (et Lisp et Cobol) sont les langages du siècle ou du millénaire ? Et même, ils ont passé le siècle et le millénaire !
    Plus sérieusement, y'a pas mieux pour ce que ça fait ?!?
    L'avis publié ci-dessus est mien et ne reflète pas obligatoirement celui de mon entreprise.

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    juillet 2012
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : juillet 2012
    Messages : 23
    Points : 93
    Points
    93

    Par défaut

    Plus sérieusement, y'a pas mieux pour ce que ça fait ?!?
    A ma connaissance Fortran est un langage très utilisé dans le milieu scientifique et industriel. Beaucoup d'équipes scientifiques à travers le monde codent encore en Fortran (par habitude, enseignement ou par nostalgie^^). De plus, manipuler des tenseurs en Fortran est beaucoup user-friendly qu'en C/C++. (Je compare avec les car la "seule menace" pour le Fortran en terme de performance c'est le C/C++).

    Ensuite, les libraries de calculs scientifiques comme BLAS ou LAPACK pour l'algèbre linéaires sont très présentes dans les codes bas-niveau (Fortran, C++...) comme dans les codes haut-niveau (Matlab, IDL, Python...) à travers des wrappers.

    Enfin si tu demandes à un scientifique de changer de Fortran pour un autre langage, il va te dire : "Qu'est-ce que tu proposes comme alternative ?" avec comme contrainte (pour mon expérience) : Free, Open-Source, Multi-platform (comprendre Linux & MacOs), User-friendly, Rapide (compatible avec OpenMP, MPI et éventuellement avec du SIMD comme SSE et AVX). Les langages comme MATLAB et IDL, ça passe pas. Python, ok, mais pour l'aspect OpenMP on oublie. MPI, ça marche mais c'est un peu galère et le SIMD sans invoquer du C ou du Fortran tu peux oublier. Reste alors le C/C++, mais la gestion de la mémoire est, comme dirait un confrère, "Pain in my ass".

Discussions similaires

  1. Réponses: 5
    Dernier message: 29/09/2012, 09h16
  2. Réponses: 0
    Dernier message: 30/08/2012, 20h18
  3. Compilateur Fortran gratuit sur Windows XP
    Par Physicien dans le forum Fortran
    Réponses: 3
    Dernier message: 08/01/2007, 19h58

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo