Je veux écrire un programme parallèle en C++ en utilisant OpenMP, donc je commence avec OpenMP. En d'autres termes, je suis un débutant et j'ai besoin d'un bon guide OpenMP expliquant comment l'installer. Quelqu'un sait-il comment installer OpenMP sur Windows, puis compiler et exécuter le programme?
OpenMP n'est pas quelque chose que vous installez. Il est livré avec votre compilateur. Vous avez juste besoin d'un compilateur décent qui prend en charge OpenMP et vous devez savoir comment activer la prise en charge OpenMP car il est généralement désactivé par défaut.
Le compilateur standard pour Windows vient de Microsoft et c'est le compilateur Microsoft Visual C/C++ de Visual Studio. Malheureusement, son support OpenMP est un peu dépassé - même le dernier et le plus grand Visual Studio ne prend en charge que OpenMP 2.0 (une version standard obsolète de 2002). Voir ici pour plus d'informations sur l'utilisation d'OpenMP dans Visual Studio. Il existe également d'autres compilateurs - le compilateur Intel C/C++ (licence commerciale requise) et GCC (disponible gratuitement) prennent en charge les versions OpenMP plus récentes et d'autres compilateurs sont également disponibles.
Vous pouvez commencer à apprendre OpenMP en visitant le site Web OpenMP ici . Il existe également un excellent tutoriel sur OpenMP du Lawrence Livermore National Laboratory ici .
Voici donc ce que j'ai fait pour enfin faire fonctionner OpenMP sur mon PC Windows 10:
g++ -v
pour vous assurer qu'il est opérationnelmingw-get upgrade --recursive "gcc<4.7.*" "gcc-g++<4.7.*"
Ceci est la partie "Fun". Parce qu'à cette époque, aucune bibliothèque libgomp n'était prise en charge dans leur version 4.9. *, Mon gcc n'a pas pu reconnaître <omp.h>
la dernière version de support était 4.7.2 donc avec cela j'ai finalement pu lancer mon openMPPour compiler, exécutez g++ -fopenmp myOpenMPFile.cpp -o myOpenMP
et tout fonctionnera à partir de là
gcc -fopenmp myOpenMPFile.cpp -o myOpenMP
fonctionnera également pour le code C
Je voudrais partager ce que j'ai fait pour que OpenMP fonctionne sur mon PC Windows 10 (les choses sont devenues encore plus simples en 2019)
J'ai installé la distribution MinGW depuis ici avec le compilateur GCC 8.2.0. Le responsable de la distribution a déjà ajouté le support de winpthreads et OpenMP à GCC.
J'ai compilé mon code avec -fopenmp
drapeau comme suit: g++ -fopenmp main.cpp -o exec
Remarque: la distribution MinGW prend en charge de nombreuses bibliothèques utiles (telles que Boost 1.69.0) et d'autres utilitaires. Je l'ai trouvé très utile.