Bonjour,
Le code suivant ne donne pas le même résultat si je désative les directives openMP. Alors, la différence est mineures, 10-8, mais cela suffit à donner un comportement différent dans le reste du code. Est-ce normal compte tenu de la parallélisation ou cela indique-t-il un probléme. Merci d'avance de vos lumiéres.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 double X,Y,XP,YP,P,E; X=Y=Xp=Yp=P=E=0; int npoint0=1000000 int NN=(npoint0-1)*6; #pragma omp parallel for schedule(guided) reduction(+:X,Y,Xp,Yp,P,E) for (int i=0;i<=NN;i=i+6) { X+=cord[i]; Xp+=cord[i+1]; Y+=cord[i+2]; Yp+=cord[i+3]; P+=cord[i+4]; E+=cord[i+5]; }
Partager