OpenMP

Un article de Wikipédia, l'encyclopédie libre.
Aller à : navigation, rechercher

OpenMP (Open Multi-Processing) est une interface de programmation pour le calcul parallèle sur architecture à mémoire partagée. Cette API est supportée sur 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.

En 2000, il y a eu la version 2.0 pour Fortran. La version 2.0 pour C/C++ est arrivé en 2002. La version 2.5 a été publié en 2005, pour C/C++ et Fortran.

En mai 2008, la version 3.0 a été publiée[1]. Le 9 juillet 2011, ça a été la version 3.1[2].

La version 4.0 a été publiée en juillet 2013[3].

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

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 14 août 2013)
  4. "XL C/C++ for Linux Features", (accessed 9 June 2009)
  5. « Oracle Technology Network for Java Developers | Oracle Technology Network | Oracle », Developers.sun.com (consulté le 14 août 2013)
  6. a et b « openmp - GCC Wiki », Gcc.gnu.org,‎ (consulté le 14 août 2013)
  7. 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)
  8. a et b « Clang 3.7 Release Notes », llvm.org (consulté le 10 octobre 2015)
  9. « GCC 4.9 Release Series - Changes », www.gnu.org
  10. « OpenMP* 4.0 Features in Intel Compiler 15.0 », Software.intel.com

Liens externes[modifier | modifier le code]