lang:cpp:openmp
Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
lang:cpp:openmp [2019/10/16 16:26] – Ajout de "Charger dynamiquement une DLL qui est liée à OpenMP" root | lang:cpp:openmp [2022/09/05 23:05] (Version actuelle) – [linear] : fix format root | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | ====Compilateur==== | + | ====Compilation==== |
+ | ===Compilateur=== | ||
Pour activer l' | Pour activer l' | ||
Ligne 7: | Ligne 8: | ||
[[https:// | [[https:// | ||
+ | |||
+ | ===CMake=== | ||
+ | |||
+ | <code cmake> | ||
+ | find_package(OpenMP) | ||
+ | if(OpenMP_CXX_FOUND) | ||
+ | target_link_libraries(MyTarget PUBLIC OpenMP:: | ||
+ | endif() | ||
+ | </ | ||
+ | |||
+ | [[https:// | ||
+ | |||
====Généralités de #pragma==== | ====Généralités de #pragma==== | ||
===Définitions=== | ===Définitions=== | ||
Ligne 303: | Ligne 316: | ||
</ | </ | ||
- | <note important> | + | <WRAP center round important |
+ | Les bornes de la boucle intérieure ne doit pas dépendre de la variable de la boucle externe. | ||
+ | </WRAP> | ||
< | < | ||
Ligne 372: | Ligne 387: | ||
Cela parallélise les instructions de calcul pour utiliser au mieux les SSE* et autres. On peut autant y faire des calculs flottants qu'en entier. Le fonctionnement est similaire aux calculs CUDA : | Cela parallélise les instructions de calcul pour utiliser au mieux les SSE* et autres. On peut autant y faire des calculs flottants qu'en entier. Le fonctionnement est similaire aux calculs CUDA : | ||
- | {{ : | + | {{ : |
<code c> | <code c> | ||
Ligne 394: | Ligne 409: | ||
</ | </ | ||
- | '' | + | '' |
===safelen=== | ===safelen=== | ||
Ligne 404: | Ligne 419: | ||
===linear=== | ===linear=== | ||
Incrémente pour chaque boucle une variable. | Incrémente pour chaque boucle une variable. | ||
- | < | + | < |
#pragma omp simd linear(b:2) | #pragma omp simd linear(b:2) | ||
for(int n=0; n<8; ++n) array[n] = b; | for(int n=0; n<8; ++n) array[n] = b; | ||
Ligne 460: | Ligne 475: | ||
|'' | |'' | ||
|'' | |'' | ||
+ | |||
+ | [[https:// |
lang/cpp/openmp.1571235988.txt.gz · Dernière modification : 2019/10/16 16:26 de root