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

Affichage des résultats du sondage: Le langage idéal pour programmer en tirant parti d’accélérateurs optimisés pour le parallélisme ?

Votants
3. Vous ne pouvez pas participer à ce sondage.
  • Java

    0 0%
  • Python

    1 33,33%
  • Julia

    0 0%
  • MATLAB

    0 0%
  • Chapel

    1 33,33%
  • C/C++

    0 0%
  • Autres (préciser en commentaires)

    1 33,33%
EDI et Outils pour Java Discussion :

Une équipe de chercheurs présentent TornadoVM, un plug-in pour OpenJDK et GraalVM


Sujet :

EDI et Outils pour Java

  1. #1
    Expert éminent sénior

    Homme Profil pro
    Rédacteur technique
    Inscrit en
    mars 2017
    Messages
    1 177
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations professionnelles :
    Activité : Rédacteur technique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : mars 2017
    Messages : 1 177
    Points : 78 723
    Points
    78 723
    Par défaut Une équipe de chercheurs présentent TornadoVM, un plug-in pour OpenJDK et GraalVM
    Une équipe de chercheurs présentent TornadoVM, un plug-in pour OpenJDK et GraalVM
    Qui permet de faire tourner Java sur du matériel hétérogène comprenant des GPU et des FPGA

    Le Dr Juan Fumero Alfonso de l’université de Manchester a récemment fait une présentation au QCon de Londres sur TornadoVM, un plug-in pour OpenJDK et GraalVM qui fait tourner Java sur du matériel hétérogène comprenant des unités de traitement graphique (GPU) et des circuits logiques programmables (FPGA ou Field-Programmable Gate Array). Des démonstrations ont montré que le code est accéléré des centaines de fois lorsqu’il fonctionne sur un GPU par rapport à un CPU. Mais Java peut-il être vraiment considéré comme un langage de haut niveau adapté à la programmation sur GPU, sachant que Java est un langage de programmation général et que les GPU ne sont pas des adaptés à un usage général ?

    Nom : EQQiAmnWoAE6CqG.jpg
Affichages : 9307
Taille : 62,4 Ko

    Les GPU et les FPGA peuvent offrir une amélioration de la vitesse de 2 à 3 fois supérieure pour une charge de travail hautement parallèle. Mais ces améliorations de vitesse ont été difficiles à obtenir, car la programmation nécessite l’utilisation de langages de bas niveau tels que OpenCL et VHDL : et c’est là tout l’intérêt de TornadoVM ! Ce dernier rend l’accélération accessible aux programmeurs utilisant Java et Node.js, et des annotations sont utilisées pour marquer les blocs de code pouvant être traités en parallèle comme un indice pour le compilateur.

    Nom : dfg.png
Affichages : 1299
Taille : 83,3 Ko

    TornadoVM est compatible avec les processeurs multicœurs, les GPU de NVIDIA, AMD et Intel, ainsi que les FPGA d’Intel. Le choix de l’accélérateur matériel est transmis à TornadoVM en paramètre, et le Dr Fumero a fait une démonstration de TornadoVM avec du code fonctionnant sur un CPU, un GPU Intel intégré et un GPU NVIDIA présent sur son ordinateur portable. TornadoVM permet également la migration de tâches en direct entre différents types de matériel, ce qui a également été démontré. Les Tensor Processing Units (TPU) ne sont pas encore supportées, mais le Dr Fumero a déclaré qu’il serait simple d’ajouter un backend supplémentaire à TornadoVM tant que le support OpenCL est présent. L’équipe en charge du projet travaille actuellement sur l’ajout du support de la technologie Parallel Thread Execution (PTX) de NVIDIA.

    Nom : TornadoVM-overview-and-workflow.png
Affichages : 1329
Taille : 60,9 Ko

    D’après l’équipe en charge de développement du projet, TornadoVM n’est pas encore prêt pour une exploitation à grande échelle, car le produit n’est pas encore finalisé. Cependant, ils précisent que ce produit a déjà été utilisé par la société Exus pour accélérer la formation des modèles d’apprentissage machine (Machine Learning) travaillant sur des données relatives aux soins de santé. Néanmoins, en raison de limitations dans le modèle de programmation sous-jacent, TornadoVM ne supporte pas les objets (sauf pour les cas triviaux), la récursion, l’allocation de mémoire dynamique ou les exceptions (un nouveau JavaCard ?).

    Le Dr Juan Fumero Alfonso n’a malheureusement pas précisé si TornadoVM se rapprochait plus d’un outil permettant de lancer une JVM (machine virtuelle Java) sur un GPU ou d’un outil (compilateur, par exemple) permettant la programmation de certaines tâches à l’aide d’un sous-ensemble Java restreint limité aux bibliothèques spécialisées sur un GPU ou un FGPA.

    Source : Démos publiées sur Github, Slide (PDF)

    Et vous ?

    Que pensez-vous du projet TornadoVM ?
    Java peut-il être considéré comme un langage de haut niveau adapté à la programmation sur GPU ? Pourquoi, selon vous ?
    Pensez-vous que le problème, s’il existe, vienne du langage en lui-même ou plutôt des outils mis à disposition pour l’exploiter ?
    Contribuez au club : Corrections, suggestions, critiques, ... : Contactez le service news et Rédigez des actualités

  2. #2
    Membre éprouvé
    Homme Profil pro
    Développeur Java
    Inscrit en
    mai 2019
    Messages
    373
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : mai 2019
    Messages : 373
    Points : 1 068
    Points
    1 068
    Par défaut
    TornadoVM ne supporte pas les objets (sauf pour les cas triviaux), la récursion, l’allocation de mémoire dynamique ou les exceptions
    Ça valait le coup d'utiliser java du coup.

    Java Card supporte néanmoins les objets et les exceptions non ?

  3. #3
    Expert éminent sénior Avatar de Uther
    Homme Profil pro
    Inscrit en
    avril 2002
    Messages
    4 295
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations forums :
    Inscription : avril 2002
    Messages : 4 295
    Points : 12 913
    Points
    12 913
    Par défaut
    En effet, faire du Java non idiomatique, j'ai déjà donné avec des projet J2ME absolument infâmes pour satisfaire les contraintes, là ça a l'air encore pire. C'est complètement idiot.

    Autant faire du C, ou du Rust si on veut un langage plus moderne et plus sur.

  4. #4
    Modérateur
    Avatar de wax78
    Homme Profil pro
    Chef programmeur
    Inscrit en
    août 2006
    Messages
    4 018
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chef programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : août 2006
    Messages : 4 018
    Points : 7 861
    Points
    7 861
    Par défaut
    Tiens quelqu'un a-t-il déjà essayer ceci : http://aparapi.com/introduction/getting-started.html ?
    (Les "ça ne marche pas", même écrits sans faute(s), vous porteront discrédit ad vitam æternam et malheur pendant 7 ans)

    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

Discussions similaires

  1. Réponses: 5
    Dernier message: 11/04/2019, 00h38
  2. Réponses: 3
    Dernier message: 20/10/2017, 15h04
  3. Réponses: 0
    Dernier message: 25/01/2016, 00h48
  4. Réponses: 22
    Dernier message: 09/04/2015, 14h50
  5. Réponses: 14
    Dernier message: 18/01/2010, 13h37

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