+ 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
    23 053
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

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

    Informations forums :
    Inscription : août 2008
    Messages : 23 053
    Points : 135 116
    Points
    135 116

    Par défaut LLVM et Clang s'apprêtent à faire un bond en avant avec OpenCL et CUDA

    LLVM est une bibliothèque aidant à réaliser des compilateurs, le plus connu étant probablement Clang. Ce dernier est notamment utilisé dans un certain nombre d’applications scientifiques, de par sa compatibilité avec OpenMP ou encore OpenACC. La famille comprend aussi Flang, un compilateur Fortran — un langage encore roi dans le domaine du calcul scientifique. LLVM est aussi utilisé par AMD pour développer HIP, un transpilateur de code CUDA (spécifique à NVIDIA et très utilisé) afin de l’exécuter sur les processeurs graphiques d’AMD.

    Justement, ce travail est sur le point d’être intégré à Clang, afin d’exécuter du code CUDA sur les processeurs graphiques AMD sans étape extérieure (surtout que le compilateur officiel de NVIDIA est aussi maintenant basé sur Clang). Une des premières étapes est de marquer les GPU AMD comme compatibles avec CUDA, ce qui a été fait il y a deux semaines, après un certain temps de discussion. D’autres modifications sont toujours en discussion avant une intégration à Clang pour gérer le code généré par HIP.

    Côté OpenCL, la version 2.2 de la norme commence à infuser dans Clang. Cela signifie principalement qu’il deviendra très bientôt possible d’utiliser du code C++14 dans du code prévu pour être déchargé sur un accélérateur (comme une carte graphique). La première étape est déjà franchie : l’option -std=c++ est comprise par Clang pour du code OpenCL. Le code actuel pour le reste de l’implémentation est déjà assez vieux (il date de 2016) et son intégration débuteil est en même temps retravaillé au niveau de l’intégration avec SPIR-V, la représentation intermédiaire de code prévue tant pour les applications graphiques (Vulkan) que de calcul (OpenCL).
    Vous souhaitez participer aux rubriques Qt ou PyQt (tutoriels, FAQ, traductions), HPC ? Contactez-moi par MP.

    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
    Membre confirmé
    Profil pro
    Inscrit en
    août 2008
    Messages
    188
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : août 2008
    Messages : 188
    Points : 572
    Points
    572

    Par défaut

    Excitant !

    clang est en train de prendre mon coeur au détriment de gcc surtout que concernant OpenACC, gcc ne prend pas en charge les GPU < GT 720.

    D'autre part, à moins d'un sursaut de l'équipe gcc, je sens que blender 3D va devoir basculer sur clang s'il veut s'épargner des efforts de portage CUDA -> AMD. Cela se fait sans effort sur OS Posix, pour l'avoir fait. Reste à voir sur Windows. Mais étant donné que clang a une interface compatible avec le compilateur C++ de Windows, ça devrai le faire.

    J'aime aussi beaucoup clang à cause de sa librairie libclang d'accès à l' AST C++.

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    janvier 2014
    Messages
    101
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : janvier 2014
    Messages : 101
    Points : 199
    Points
    199

    Par défaut

    Clang n'a t-il pas aussi libtcc (Tiny C Compiler ?) pour de la compilation à la voler de code C ?

    Quels étaient les points critiques (pour ton usage) t'ayant fait adopté GCC plutôt que Clang à l'époque du duo naissant ?
    Les avantage que l'un a sur l'autre ne sont t-il pas éphémères ? (un coup l'un a le dessus, un coup c'est l'autre)... ou bien y a t-il une tendance qui se dégage permettant de penser Clang s'imposera définitivement sur GCC ?

    J'ai très peu suivi l'actualité des compilateurs, mais à te lire, certains points semblent très limitant lors du choix de son outil de production, alors que le but qu'ils servent semble le même. ^^'
    Clang à l'air d'avoir un dynamisme de développement plus fort que GCC. Une simple impression ?

Discussions similaires

  1. Sortie de LLVM et Clang 5.0
    Par dourouc05 dans le forum Clang et LLDB
    Réponses: 1
    Dernier message: 12/09/2017, 13h33
  2. Sortie de LLVM et Clang 4.0
    Par dourouc05 dans le forum Clang et LLDB
    Réponses: 0
    Dernier message: 13/03/2017, 19h54
  3. [Data] Faire des requêtes en dur avec des DAO
    Par hocinema dans le forum Spring
    Réponses: 8
    Dernier message: 22/04/2010, 09h50
  4. [Débutant] Faire un graph ss lib avec une boucle
    Par Darkenshin dans le forum C
    Réponses: 5
    Dernier message: 24/11/2005, 16h39
  5. Comment faire une division par 5 avec les decalages
    Par Zaion dans le forum Assembleur
    Réponses: 7
    Dernier message: 05/11/2004, 17h33

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