OpenMP

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

Informations
Dernière version 5.0 ()Voir et modifier les données sur Wikidata
Écrit en C et C++Voir et modifier les données sur Wikidata
Système d'exploitation MultiplateformeVoir et modifier les données sur Wikidata
Type Norme 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.

Historique[modifier | modifier le code]

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[1], puis, le 9 juillet 2011, la version 3.1[2].

La version 4.0 date de juillet 2013[3].

La version 4.5 date de novembre 2015[4]

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[5]
    • Sun Studio 12 update 1 has a full implementation of OpenMP 3.0[6]
    • Multi-Processor Computing (« MPC »)
  • Version 3.1
    • GCC 4.7[7]
    • Intel Fortran and C/C++ compilers 12.1[8]
    • LLVM/Clang 3.7[9]
  • Version 4.0
    • GCC 4.9.0 pour C/C++, GCC 4.9.1 pour Fortran[7],[10]
    • Compilateurs Intel Fortran et C/C++ 15.0[11]
    • LLVM/Clang 3.7 (partiel)[9]

Voir aussi[modifier | modifier le code]

Références[modifier | modifier le code]

  1. « OpenMP Application Program Interface, Version 3.0 », openmp.org, (consulté le 6 février 2014).
  2. « OpenMP Application Program Interface, Version 3.1 », openmp.org, (consulté le 6 février 2014).
  3. « OpenMP 4.0 API Released », OpenMP.org, (consulté le 8 novembre 2019).
  4. « OpenMP 4.5 Specs Released », OpenMP.org (consulté le 8 novembre 2019).
  5. (en) « XL C/C++ for Linux Features » (consulté le 9 juin 2009).
  6. « Oracle Technology Network for Java Developers | Oracle Technology Network | Oracle », Developers.sun.com (consulté le 14 août 2013).
  7. a et b « openmp - GCC Wiki », Gcc.gnu.org, (consulté le 14 août 2013).
  8. 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 14 août 2013).
  9. a et b « Clang 3.7 Release Notes », llvm.org (consulté le 10 octobre 2015).
  10. « GCC 4.9 Release Series - Changes », www.gnu.org.
  11. « OpenMP* 4.0 Features in Intel Compiler 15.0 », Software.intel.com.

Liens externes[modifier | modifier le code]