Aller au contenu

OpenMP

Un article de Wikipédia, l'encyclopédie libre.
OpenMP
Description de l'image OpenMP logo.png.

Informations
Dernière version 6.0 ()[1]Voir et modifier les données sur Wikidata
Écrit en C++ et CVoir et modifier les données sur Wikidata
Système d'exploitation MultiplateformeVoir et modifier les données sur Wikidata
Type Standard techniqueVoir et modifier les données sur Wikidata
Site web www.openmp.orgVoir et modifier les données sur Wikidata

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.

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

[modifier | modifier le code]

Implémentations

[modifier | modifier le code]
  • 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]

Références

[modifier | modifier le code]
  1. (en) James Riordon, « OpenMP® ARB Releases OpenMP 6.0 for Easier Programming », (consulté le )
  2. « OpenMP Application Program Interface, Version 3.0 », openmp.org, (consulté le ).
  3. « OpenMP Application Program Interface, Version 3.1 », openmp.org, (consulté le ).
  4. « OpenMP 4.0 API Released », OpenMP.org, (consulté le ).
  5. « OpenMP 4.5 Specs Released », OpenMP.org, (consulté le ).
  6. (en) « XL C/C++ for Linux Features » (consulté le 9 juin 2009).
  7. « Oracle Technology Network for Java Developers | Oracle Technology Network | Oracle », Developers.sun.com (consulté le ).
  8. a et b « openmp - GCC Wiki », Gcc.gnu.org, (consulté le ).
  9. 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, (consulté le ).
  10. a et b « Clang 3.7 Release Notes », llvm.org (consulté le ).
  11. « GCC 4.9 Release Series - Changes », www.gnu.org.
  12. « OpenMP* 4.0 Features in Intel Compiler 15.0 », Software.intel.com.

Liens externes

[modifier | modifier le code]