OpenMP (Open Multi-Processing ) est une interface de programmation pour le calcul parallèle sur architecture à mémoire partagée. Cette API est prise en charge par de nombreuses plateformes, incluant GNU/Linux , OS X et Windows , pour les langages de programmation C , C++ et Fortran . Il se présente sous la forme d'un ensemble de directives , d'une bibliothèque logicielle et de variables d'environnement .
OpenMP est portable et dimensionnable. Il permet de développer rapidement des applications parallèles à petite granularité en restant proche du code séquentiel.
La programmation parallèle hybride peut être réalisée par exemple en utilisant à la fois OpenMP et MPI .
Le développement de la spécification OpenMP est géré par le consortium OpenMP Architecture Review Board .
Historique
OpenMP 1.0 pour Fortran a été publié en octobre 1997.
En octobre 1998, la spécification pour le C/C++ a été publiée.
La version 2.0 pour Fortran a été disponible en 2000. La version 2.0 pour C/C++ en 2002.
La version 2.5 a été publiée en 2005, pour C/C++ et Fortran.
En mai 2008, la version 3.0 a été publiée[ 2] , puis, le 9 juillet 2011, la version 3.1[ 3] .
La version 4.0 date de juillet 2013[ 4] .
La version 4.5 date de novembre 2015[ 5] .
Particularités de chaque version
Implémentations
Version 3.0
GCC 4.3.1
Compilateur Mercurium
Intel Fortran and C/C++ versions 11.0 and 11.1 compilers, Intel C/C++ and Fortran Composer XE 2011 and Intel Parallel Studio.
IBM XL C/C++ compiler[ 6]
Sun Studio 12 update 1 has a full implementation of OpenMP 3.0[ 7]
Multi-Processor Computing (« MPC » )
Version 3.1
Version 4.0
GCC 4.9.0 pour C/C++, GCC 4.9.1 pour Fortran[ 8] , [ 11]
Compilateurs Intel Fortran et C/C++ 15.0[ 12]
LLVM/Clang 3.7 (partiel)[ 10]
Voir aussi
Références
↑ (en) James Riordon, « OpenMP® ARB Releases OpenMP 6.0 for Easier Programming », 14 novembre 2024 (consulté le 15 novembre 2024 )
↑ « OpenMP Application Program Interface, Version 3.0 », openmp.org, mai 2008 (consulté le 6 février 2014 ) .
↑ « OpenMP Application Program Interface, Version 3.1 », openmp.org, juillet 2011 (consulté le 6 février 2014 ) .
↑ « OpenMP 4.0 API Released », OpenMP.org, 26 juillet 2013 (consulté le 8 novembre 2019 ) .
↑ « OpenMP 4.5 Specs Released », OpenMP.org, 17 novembre 2015 (consulté le 8 novembre 2019 ) .
↑ (en) « XL C/C++ for Linux Features » (consulté le 9 juin 2009).
↑ « Oracle Technology Network for Java Developers | Oracle Technology Network | Oracle », Developers.sun.com (consulté le 14 août 2013 ) .
↑ a et b « openmp - GCC Wiki », Gcc.gnu.org, 30 juillet 2013 (consulté le 14 août 2013 ) .
↑ Submitted by Patrick Kennedy... on Fri, 09/02/2011 - 11:28, « Intel® C++ and Fortran Compilers now support the OpenMP* 3.1 Specification | Intel® Developer Zone », Software.intel.com, 6 septembre 2011 (consulté le 14 août 2013 ) .
↑ a et b « Clang 3.7 Release Notes », llvm.org (consulté le 10 octobre 2015 ) .
↑ « GCC 4.9 Release Series - Changes », www.gnu.org .
↑ « OpenMP* 4.0 Features in Intel Compiler 15.0 », Software.intel.com .
Liens externes