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

Programmation parallèle, calcul scientifique et de haute performance (HPC) Discussion :

OpenACC : le nouveau standard de développement parallèle par NVIDIA


Sujet :

Programmation parallèle, calcul scientifique et de haute performance (HPC)

  1. #1
    Expert éminent sénior
    Avatar de Idelways
    Homme Profil pro
    Développeur Ruby on Rails / iOS
    Inscrit en
    Juin 2010
    Messages
    1 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur Ruby on Rails / iOS

    Informations forums :
    Inscription : Juin 2010
    Messages : 1 374
    Points : 68 548
    Points
    68 548
    Par défaut OpenACC : le nouveau standard de développement parallèle par NVIDIA
    OpenACC : le nouveau standard de développement parallèle par NVIDIA
    Accélérer plus facilement les applications hybrides combinant CPU/GPU avec les directives



    En compagnie de Cray, PGI et avec le soutien de Caps ; NVidia a développé un nouveau standard ouvert pour la programmation parallèle.

    OpenACC est conçu pour permettre aux programmeurs d'exploiter facilement la puissance transformatrice de l'hétérogénéité des systèmes informatiques hybrides CPU/GPU (processeur graphique). Il trouve son indication auprès des programmeurs travaillant dans l'analyse de donnée, l'intelligence artificielle et la physique entre autres domaines scientifiques et techniques.



    Le standard donne la possibilité aux développeurs C/C++ et Fortran de désigner au compilateur les boucles et régions du code à accélérer en leur passant de "simples conseils" (ou directives) « sans qu'ils aient besoin de modifier ou d'adapter le code sous‐jacent lui‐même », affirment les initiateurs du standard. Les investissements dans les applications existantes peuvent donc être conservés, tout en permettant une migration facile vers l'informatique accélérée

    L'annonce du standard souligne que la plupart des développeurs rapportent des augmentations 2 à 10 fois supérieures dans les performances des applications (après près de deux semaines de tests avec les nouveaux compilateurs).

    Le standard sera pris en charge par les compilateurs de Cray, PGI et CAPS à partir du premier trimestre 2012. Il sera entièrement compatible et interopérable avec l'architecture de programmation parallèle NVIDIA CUDA.


    Télécharger les spécifications du standard OpenACC

    Source : comuniqué de presse collectif


  2. #2
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2011
    Messages
    74
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Mars 2011
    Messages : 74
    Points : 389
    Points
    389
    Par défaut
    Je suis assez étranger au développement parallèle, concrètement c'est quoi la différence avec OpenMP ? l'exploitation du GPU ?

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    329
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2004
    Messages : 329
    Points : 608
    Points
    608
    Par défaut
    OpenMP se limite aux machines à mémoire partagée alors que le type de modèle de programmation visé ici est plus hétérogène. Ça signifie qu'avant d'exécuter du code sur un accélérateur il faut y avoir transféré (ou mapper dans son espace mémoire) les données à traiter.

  4. #4
    Membre émérite

    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
    Points : 2 528
    Points
    2 528
    Par défaut
    C'est compatible CUDA, très bien, mais est-ce que c'est compatible OpenCL ? Parce qu'une technologie "ouverte" qui dépend entièrement d'une technologie propriétaire, ça ne me semble pas très ouvert, personnellement...

    Edit : La FAQ dit que non, mais que rien ne s'y oppose. De même qu'une compatibilité avec les GPU d'AMD...

  5. #5
    Inactif  


    Homme Profil pro
    Inscrit en
    Novembre 2008
    Messages
    5 288
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Secteur : Santé

    Informations forums :
    Inscription : Novembre 2008
    Messages : 5 288
    Points : 15 620
    Points
    15 620
    Par défaut
    Cela me semble un peu concurent avec OpenCL, qui permet aussi les architectures hybrides CPU/GPU. J'ai pas trop testé les CPU multi core avec OpenCL mais c'est faisable sans problème.
    A priori, la différence est l'utilisation de directives (de la même manière que OpenMP) plutôt que de kernels.
    A tester... mais je doute de l'intérêt. Peut être plus en remplacement de OpenCL qu'en complément.

  6. #6
    Inactif  


    Homme Profil pro
    Inscrit en
    Novembre 2008
    Messages
    5 288
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Secteur : Santé

    Informations forums :
    Inscription : Novembre 2008
    Messages : 5 288
    Points : 15 620
    Points
    15 620
    Par défaut
    Cela dépend comment on prend la chose
    On retrouve beaucoup de poins commun avec l'existant :
    - utilisation des directives comme OpenMP
    - programmation des GPU comme CUDA
    - programmation hybride comme OpenCL
    Bref, je vois pas comment ça va se positionner. Mais j'ai pas encore testé

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    329
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2004
    Messages : 329
    Points : 608
    Points
    608
    Par défaut
    C'est clairement une solution qui remplace OpenCL. Si vous déjà vu à quoi ressemble un code OpenCL, une solution "à la OpenMP" à le mérite de rendre ça "utilisable" !

  8. #8
    Membre régulier
    Homme Profil pro
    Ingénieur
    Inscrit en
    Octobre 2006
    Messages
    48
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Transports

    Informations forums :
    Inscription : Octobre 2006
    Messages : 48
    Points : 97
    Points
    97
    Par défaut
    Bonjour,

    C'est quoi la différence avec OpenHMPP ? Ca commence à faire pas mal de Open** vive LE standard...

  9. #9
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    329
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2004
    Messages : 329
    Points : 608
    Points
    608
    Par défaut
    C'est dans la même veine qu'HMPP, mais fait par les ricains et supporté par un plus large nombre d'industriel dont Nvidia. A noter que CAPS qui a produit HMPP fait partie du consortium OpenACC.

    Voir aussi cette analyse: http://terboven.wordpress.com/2011/1...p-and-openacc/

    OpenACC n'est qu'un prototype de ce qui devrait apparaitre en tant que partie du standard OpenMP 4.0 si j'ai bien lu.

Discussions similaires

  1. Réponses: 0
    Dernier message: 17/11/2011, 18h16
  2. Réponses: 4
    Dernier message: 21/11/2009, 20h39
  3. Réponses: 2
    Dernier message: 19/09/2007, 17h37
  4. Sortie standard craché en direct par PHP
    Par stade dans le forum Langage
    Réponses: 4
    Dernier message: 28/07/2006, 15h33

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