IdentifiantMot de passe
Loading...
Mot de passe oubli� ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les r�ponses en temps r�el, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++ Discussion :

CppCon 2016 : "Clang et C++ sur GPU : un compilateur C++ open source et compatible avec CUDA"


Sujet :

C++

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre �prouv�
    Avatar de Coriolan
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Mai 2016
    Messages
    702
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : High Tech - Multim�dia et Internet

    Informations forums :
    Inscription : Mai 2016
    Messages : 702
    Par d�faut CppCon 2016 : "Clang et C++ sur GPU : un compilateur C++ open source et compatible avec CUDA"
    CppCon 2016 : "Clang et C++ sur GPU : un compilateur C++ open source et compatible avec CUDA"
    Par Justin Lebar

    Le CPU a toujours constitu� le principal levier de traitement de l�ensemble des op�rations lourdes de calcul comme les simulations physiques, le rendu hors-ligne pour les films, les calculs de risques pour les institutions financi�res, la pr�vision m�t�orologique, l'encodage de fichier vid�o et son, etc. V�ritable chef d�orchestre de l�ordinateur, le CPU a permis � Intel de dominer largement tous les besoins de calcul et d�engranger de substantielles marges avec ses 80% de parts de march�. Certains de ces calculs lourds sont cependant facilement parall�lisables et peuvent donc b�n�ficier d'une architecture pens�e pour le calcul parall�le. La plupart des architectures parall�les �taient lourdes, ch�res et s'adressaient � un march� de niche jusqu'� ce que le GPU s'impose comme un acteur important du calcul parall�le.

    Le GPU b�n�ficie d�une large diffusion favoris�e par le march� important des jeux vid�os, ce qui a permis d�en r�duire consid�rablement les couts par rapport � une architecture trop sp�cialis�e. Pour comprendre les diff�rences fondamentales entre un CPU et un GPU, il suffit de comparer leur mani�re de traiter chaque op�ration. Les CPU incluent un nombre restreint de c�urs optimis�s pour le traitement en s�rie, alors que les GPU int�grent des milliers de c�urs con�us pour traiter efficacement de nombreuses t�ches simultan�es.

    Les constructeurs ont d�cid� donc de mettre en place des langages permettant de tirer profit des possibilit�s offertes par les processeurs graphiques. Au d�but, ATI a d�velopp� Close to Metal, une librairie tr�s bas niveau suppl��e par la suite par Stream. Ensuite vient NVIDIA, avec CUDA, une technologie disponible sur toutes les cartes graphiques grand public depuis la s�rie des GeForce 8000. Cependant, la programmation des GPUs peut s�av�rer d�licate. C++ est rarement disponible dans une forme non modifi�e et il existe peu d�approches portables et open source. L�une des plateformes les plus populaires, CUDA, n�a pratiquement aucune impl�mentation open source de qualit�. Par cons�quent, son support pour C++ est rest� � la traine et n�a pas constitu� un attrait pour les chercheurs et tous ceux qui n�ont pas �t� convaincus par les outils de NVIDIA.

    N�anmoins, les choses commencent � changer aujourd�hui. Clang est maintenant un compilateur GPU open source et enti�rement fonctionnel. Il fournit un mod�le de programmation compatible avec CUDA et peut compiler la plupart des biblioth�ques de cette technologie allant de Thrust � Eigen et TensorFlow.

    Dans cette conf�rence, Justin Lebar qui est un ing�nieur de Google, va donner un aper�u sur comment LLVM et Clang supportent C++ sur GPU, comment ils sont compatibles avec un code existant de CUDA et comment il est possible aujourd�hui d��crire du code pour l�ex�cuter sur des GPU � l�aide de ce compilateur open source.



    Source : YouTube

    Et vous ?

    Qu'en pensez-vous ?

    Voir aussi :

    La rubrique C++ : forum C++, cours et tutoriels C++, FAQ C++
    CppCon 2016 : Bjarne Stroustrup parle de l'�volution de C++ et s'int�resse � son pass�, � son pr�sent mais aussi � son futur
    CppCon 2016 : Persuader les programmeurs de C de migrer vers C++, par Dan Saks
    [HPC] Google contribue � un compilateur libre pour CUDA, leurs passes d'optimisation dans LLVM peuvent battre le compilateur de NVIDIA

  2. #2
    Invit� de passage

    Profil pro
    Inscrit en
    D�cembre 2003
    Messages
    3 995
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : D�cembre 2003
    Messages : 3 995
    Par d�faut
    Pourquoi pas OpenCL ?

  3. #3
    Invit� de passage
    Homme Profil pro
    Doctorant
    Inscrit en
    Octobre 2016
    Messages
    1
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rh�ne (Provence Alpes C�te d'Azur)

    Informations professionnelles :
    Activit� : Doctorant
    Secteur : A�ronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Octobre 2016
    Messages : 1
    Par d�faut
    Comme l'a soulign� Traroth2, on aurait pr�f�r� que Google fasse avancer plut�t OpenCL.
    D'ailleurs pour ceux qui serait int�ress� par une alternative � CUDA (Single source en c++), Il y a OpenCL SYCL (https://www.khronos.org/sycl)
    qui est sortie r�cemment (bizarrement aucune news dessus, alors que pour CUDA, on en a une � chaque version -_-').
    Je suis actuellement entrain de d�velopper un projet avec SYCL et je n'ai aucun regret d'avoir laiss� tomber CUDA.

  4. #4
    Membre �prouv� Avatar de AoCannaille
    Inscrit en
    Juin 2009
    Messages
    1 453
    D�tails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 1 453
    Par d�faut
    Citation Envoy� par rhoarau Voir le message
    D'ailleurs pour ceux qui serait int�ress� par une alternative � CUDA (Single source en c++), Il y a OpenCL SYCL (https://www.khronos.org/sycl)
    qui est sortie r�cemment (bizarrement aucune news dessus, alors que pour CUDA, on en a une � chaque version -_-').
    Tous les r�dacteurs sont b�n�voles et n'importe qui peut l'�tre. Si tu veux une news sur OpenCL SYCL � chaque version, personne ne t�emp�che de le faire

  5. #5
    Membre confirm� Avatar de athlon64
    Profil pro
    Inscrit en
    F�vrier 2009
    Messages
    243
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : F�vrier 2009
    Messages : 243
    Par d�faut
    bonjour,

    En y r�fl�chissant ce n'est pas plus mal, �a permet de ne pas �tre cloisonn� � OpenCL ou CUDA.

    Pourquoi se priver d'un troisi�me candidat qui plus est open source ?

    AMD, Intel et d'autres acteurs font aussi avancer OpenCL, m�me Nvidia(essaie) sans oublier ARM...

    Les puces graphiques sont devenues tellement puissantes que le mot r�volution se serait pas usurp�.

    Par exemple la GTX 1080 a une puissance de calcul en simple pr�cision de plus de 8 000 GFlops, (c'est � peu pr�s l��quivalent du superordinateur le plus puissant au monde en l'an 2000)

    le dernier core i7 6700 doit faire dans les 400 GFlops une �chelle de 1/20 .

    Cette puissance de calcul est devenu une mine d'or pour les "black hackers" pour d�coder les mots de passe.

    je me suis amus� � faire un test avec une vielle carte graphique de 2011,

    tous mes mots de passe de moins de 8 caract�res sont tomb�s en moins de 2 minutes (MD4, en force brute). Une seule GTX 1080 pour du MD4 c'est 50 milliards de hash/seconde, vous en mettez 4 ou 8

    bonjours les d�g�ts. C'�tait pour du test car cet algorithme a disparu, mais on trouve encore du MD5, bref heureusement que le GPU �a sert pas que � �a .

    Le GPGPU est maintenant utilis� dans des domaines comme le deep learning, la biotechnologie, les simulations, la finance, etc.

  6. #6
    tlt
    tlt est d�connect�
    Membre confirm� Avatar de tlt
    Homme Profil pro
    Programmeur
    Inscrit en
    Juillet 2004
    Messages
    205
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations professionnelles :
    Activit� : Programmeur
    Secteur : High Tech - Produits et services t�l�com et Internet

    Informations forums :
    Inscription : Juillet 2004
    Messages : 205
    Par d�faut
    uniquement cuda ? pas d'openCL ? d�j� qu'il existe un wrapper c++ livr� avec la sdk cuda . De plus c'est une techno propri�taire � nVidia

  7. #7
    Responsable Qt & Livres


    Avatar de dourouc05
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Ao�t 2008
    Messages
    26 772
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (�le de France)

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : High Tech - Multim�dia et Internet

    Informations forums :
    Inscription : Ao�t 2008
    Messages : 26 772
    Par d�faut
    Citation Envoy� par tlt Voir le message
    De plus c'est une techno propri�taire � nVidia
    Pas exactement, AMD pr�pare sa propre "impl�mentation" de CUDA (donc utilisable sans carte NVIDIA) dans le cadre de GPUOpen (de ce que j'avais vu, c'�tait surtout de la transpilation depuis CUDA, donc pas toute l'API publique de CUDA : une application existante ne fonctionnera pas sans recompilation).

    Impl�menter CUDA a beaucoup de sens, au vu de la quantit� de code CUDA d�j� �crit, qu'il serait difficile de faire passer � OpenCL, m�me de mani�re automatis�e (sauf dans le cas o� la transformation ne risque jamais de perdre quelque chose et garde le m�me niveau de performance).
    Vous souhaitez participer aux rubriques Qt (tutoriels, FAQ, traductions) ou 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 !

Discussions similaires

  1. NVIDIA OptiX ou le ray tracing sur GPU
    Par dourouc05 dans le forum CUDA
    R�ponses: 5
    Dernier message: 04/11/2009, 05h23
  2. Votre avis sur un test de tesseract (OCR Open Source)
    Par ecocentric dans le forum Traitement d'images
    R�ponses: 2
    Dernier message: 19/09/2008, 12h13
  3. R�ponses: 0
    Dernier message: 21/06/2007, 12h00
  4. Parallelisme sur gpu
    Par chonos dans le forum D�veloppement 2D, 3D et Jeux
    R�ponses: 3
    Dernier message: 08/03/2006, 13h23

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