Bonjour,
Je viens vers vous, afin d'avoir des conseilles sur OpenMP.
Dans mon code C, je parallélise une partie (voir partie très simplifiée ci-dessous):
Il se trouve qu'en rajoutant la ligne (#pragma omp parallel for), mes résultats sont complètement faux. Je ne maîtrise pas encore toutes les les fonctionnalités d'OpenMP.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 int k=0; #pragma omp parallel for for (int i = 0 ; i < 10 ; ++i) for (int l = 0 ; l < 10 ; ++l) { if (_p[k]==0) funct_1(i,k); else if (_p[k]==1) funct_2(i,k); ++k; }
Dois je rajouter d'autres mots-clés ?
A quoi cela sert de privatiser ou de les partager des variables entre les threads ?
J'ai lu la documentation plusieurs fois, mais je ne comprends pas l'intérêt. Pouvez-vous me l'expliquer ?
Je vous remercie pour vos éventuelles réponses
Syens
Partager