OpenACC

standard de programmation
OpenACC

Informations
Dernière version 3.3 ()[1]Voir et modifier les données sur Wikidata
Écrit en C, C++, et Fortran
Système d'exploitation MultiplateformeVoir et modifier les données sur Wikidata
Environnement Multiplate-forme
Type API
Site web www.openacc.orgVoir et modifier les données sur Wikidata

OpenACC (pour Open Accelerators) est un standard de programmation pour le calcul parallèle développé par Cray, CAPS, Nvidia et PGI (en). Ce standard est conçu pour permettre du calcul parallèle sur des systèmes hétérogènes  CPU/GPU.

Tout comme OpenMP, il est possible de rajouter des commandes dans du code source C, C++ et Fortran pour identifier des portions qui pourrait bénéficier d'une accélération, en utilisant des directives au compilateur[2]. Comme en OpenMP 4.0 et suivant, le code peut être exécuté sur CPU et GPU.

Les développeurs d'OpenACC ont également travaillé sur le standard d'OpenMP afin de créer une spécification commune permettant d'étendre OpenMP pour supporter de nouveaux types d’accélérateurs dans les prochaines versions d'OpenMP[3],[4]. Ces travaux ont abouti à un rapport technique [5] incluant commentaires et discussions destinés à être débattus durant la conférence annuelle Supercomputing Conference à Salt Lake City en , afin de traiter le support des accélérateurs non-Nvidia par les fabricants de matériel participants à OpenMP[6].

Durant ISC’12, des démonstrations d'OpenACC ont eu lieu sur du matériel Nvidia, AMD et Intel, sans toutefois fournir des données sur les performances[7].

Le , durant la conférence SC12, un brouillon de la spécification 2.0 d'OpenACC a été présenté[8]. Les nouveautés de cette version incluent de nouvelles capacités dans le transfert de données (comme un moyen de traitement des données non structurées et des données non contigües en mémoire), et le support des appels explicites à des fonctions ainsi que la possibilité de compilation séparée (permettant la création et l'utilisation de librairies de code accéléré).

Références modifier

  1. « Announcing OpenACC 3.3 at SC22! », (consulté le )
  2. « OpenACC standard version 2.0 », sur OpenACC.org (consulté le )
  3. « How does the OpenACC API relate to the OpenMP API? », sur OpenACC.org (consulté le )
  4. « How did the OpenACC specifications originate? », sur OpenACC.org (consulté le )
  5. « The OpenMP Consortium Releases First Technical Report », sur OpenMP.org, (consulté le )
  6. « OpenMP at SC12 », sur OpenMP.org, (consulté le )
  7. « OpenACC Group Reports Expanding Support for Accelerator Programming Standard » [archive du ], sur HPCwire, (consulté le )
  8. « OpenACC Version 2.0 Posted for Comment », sur OpenACC.org, (consulté le )