OpenACC
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. 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. Ces travaux ont abouti à un rapport technique incluant commentaires et discussions destinés à être débattus durant la conférence annuelle Supercomputing Conference à Salt Lake City en novembre 2012, afin de traiter le support des accélérateurs non-Nvidia par les fabricants de matériel participants à OpenMP. 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. Le 12 novembre 2012, durant la conférence SC12, un brouillon de la spécification 2.0 d'OpenACC a été présenté. 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é).
| Dernière version | 3.3 (novembre 2022)[1] |
|---|---|
| Écrit en | C, C++, et Fortran |
| Système d'exploitation | Multiplateforme (d) |
| Environnement | Multiplate-forme |
| Type | API |
| Site web | www.openacc.org |
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 novembre 2012, 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 12 novembre 2012, 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 | modifier le code]- ↑ « Announcing OpenACC 3.3 at SC22! », 13 novembre 2022 (consulté le 25 janvier 2023)
- ↑ « OpenACC standard version 2.0 », sur OpenACC.org (consulté le 14 janvier 2014)
- ↑ « How does the OpenACC API relate to the OpenMP API? », sur OpenACC.org (consulté le 14 janvier 2014)
- ↑ « How did the OpenACC specifications originate? », sur OpenACC.org (consulté le 14 janvier 2014)
- ↑ « The OpenMP Consortium Releases First Technical Report », sur OpenMP.org, 5 novembre 2012 (consulté le 14 janvier 2014)
- ↑ « OpenMP at SC12 », sur OpenMP.org, 29 août 2012 (consulté le 14 janvier 2014)
- ↑ « OpenACC Group Reports Expanding Support for Accelerator Programming Standard » [archive du 23 juin 2012], sur HPCwire, 20 juin 2012 (consulté le 14 janvier 2014)
- ↑ « OpenACC Version 2.0 Posted for Comment », sur OpenACC.org, 12 novembre 2012 (consulté le 14 janvier 2014)