OpenMP

De system.co.free.fr.

retour vers Developpement

OpenMP: Librairies et outils pour la programmation parallèle

http://openmp.org/wp/

le compilateur gcc supporte OpenMP en version 2.5 depuis la version 4.2. Il suffit d'ajouter une option sur la ligne de commande et inclure le fichier en-têtes omp.h. Les fonctions sont regroupées dans la bibliothèque libgomp.so.
OpenMP 3.1 est supporté depuis la version 4.7 de GCC. L'option de compilation est -fopenmp

documentation de l’implémentation d'OpenMP dans GCC 4.7:
http://gcc.gnu.org/onlinedocs/libgomp/

Pour les malheureux encore sous windows:
http://msdn.microsoft.com/fr-fr/library/tt15eb9t%28v=vs.110%29.aspx (ici pour visual Studio 12 C++, mais d'autres versions existe aussi)


Un tres bon article en français avec des exemples d'utilisations:
http://www.unixgarden.com/index.php/gnu-linux-magazine/decouverte-de-la-programmation-parallele-avec-openmp#quelques-solutions-possibles-pour-la-programmation-parall%C3%A8le


utilisation avec cmake

Au debut du fichier CMakeLists.txt:

#FindOpenMP existe depuis la version 2.6.3 de cmake
include(FindOpenMP)
if (OPENMP_FOUND)
    set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${OpenMP_C_FLAGS}")
    set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OpenMP_CXX_FLAGS}")
endif()
Outils personnels