Bonjour,

J'utilise la programmation parallèle avec OpenMP et j'utilise les tâches pour la parallélisation. je souhaite savoir s'il est nécessaire d'utiliser la fonction "flush" dans les fonctions func1 func2 et func3 sachant que ces fonctions doivent lire et modifier le contenu de la variable partagée x.

est ce que cette variable est partagée parmi les threads?

voici un exemple de code:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
omp_set_num_threads (8);
 
#pragma omp parallel
 
{
#pragma omp single
{
int x=5;
          #pragma omp task shared (x)
             { 
               func1 (x);
             }
         #pragma omp task shared (x)
             {
              func2 (x);
             }
         #pragma omp task shared (x)
             {
               func3 (x);
             }
#pragma omp taskwait
}
afficher (x);
}
Merci