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
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()