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

Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

OpenACC : le standard de programmation parallèle par NVIDIA
Accélérer les applications hybrides CPU/GPU avec les directives

Le , par Idelways

0PARTAGES

1  0 
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

Une erreur dans cette actualité ? Signalez-nous-la !

Avatar de iNaKoll
Membre régulier https://www.developpez.com
Le 18/11/2011 à 19:21
Bonjour,

C'est quoi la différence avec OpenHMPP ? Ca commence à faire pas mal de Open** vive LE standard...
1  0 
Avatar de wirenth
Membre averti https://www.developpez.com
Le 17/11/2011 à 18:48
Je suis assez étranger au développement parallèle, concrètement c'est quoi la différence avec OpenMP ? l'exploitation du GPU ?
0  0 
Avatar de Joker-eph
Membre confirmé https://www.developpez.com
Le 17/11/2011 à 19:24
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.
0  0 
Avatar de Traroth2
Membre émérite https://www.developpez.com
Le 17/11/2011 à 21:34
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...
0  0 
Avatar de gbdivers
Inactif https://www.developpez.com
Le 17/11/2011 à 23:11
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.
0  0 
Avatar de gbdivers
Inactif https://www.developpez.com
Le 17/11/2011 à 23:54
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é
0  0 
Avatar de Joker-eph
Membre confirmé https://www.developpez.com
Le 18/11/2011 à 10:41
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" !
0  0 
Avatar de Joker-eph
Membre confirmé https://www.developpez.com
Le 01/01/2012 à 15:29
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.
0  0