OpenMP

De system.co.free.fr.
(Différences entre les versions)
(OpenMP: Librairies et outils pour la programmation parallèle)
(utilisation avec cmake)
 
(7 versions intermédiaires masquées)
Ligne 7 : Ligne 7 :
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.<br>
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.<br>
OpenMP 3.1 est supporté depuis la version 4.7 de GCC. L'option de compilation est <b>-fopenmp</b>
OpenMP 3.1 est supporté depuis la version 4.7 de GCC. L'option de compilation est <b>-fopenmp</b>
-
<br>
+
<br><br>
documentation de l’implémentation d'OpenMP dans GCC 4.7:<br>
documentation de l’implémentation d'OpenMP dans GCC 4.7:<br>
http://gcc.gnu.org/onlinedocs/libgomp/
http://gcc.gnu.org/onlinedocs/libgomp/
 +
<br><br>
 +
Pour les malheureux encore sous windows:<br>
 +
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)<br>
 +
<br><br>
 +
Un tres bon article en français avec des exemples d'utilisations:<br>
 +
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
Ligne 16 : Ligne 22 :
Au debut du fichier CMakeLists.txt:
Au debut du fichier CMakeLists.txt:
<pre>
<pre>
-
find_package(OpenMP)
+
#FindOpenMP existe depuis la version 2.6.3 de cmake
 +
include(FindOpenMP)
if (OPENMP_FOUND)
if (OPENMP_FOUND)
     set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${OpenMP_C_FLAGS}")
     set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${OpenMP_C_FLAGS}")

Version actuelle en date du 20 octobre 2013 à 22:21

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