openmp sur dev c++
Est-il de toute façon à utiliser openmp avec dev c++. J'ai vu des liens sur la façon d'utiliser dans Visual Studio, mais je suis plus à l'aise avec Dev C++ interface.
Ajout /openmp dans la ligne de commande liens ne marche pas non plus.
Je ne pourrais pas le trouver à la bibliothèque de téléchargement aussi. Ai-je raté quelque chose.
J'ai essayé d'exécuter cet exemple de code:
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{
#pragma omp parallel
{
printf("Hello, world.\n");
}
return 0;
}
D'où j'ai lu qu'il a été mentionné Sortie sur un ordinateur avec 2 Coeurs et 2 threads bonjour tout le monde imprimée deux fois. J'ai un core i7, mais il a été imprimé qu'une seule fois.
- Où voulez-vous créer un deuxième thread? Et pour info ces en-têtes sont déconseillés en C++.
- Le deuxième thread est créé par OpenMP, et les en-têtes sont très bien si c'est C (mais oui, la question suggère que c'est du C++).
- Dev-C++ est obsolète. Son développement s'est arrêté une demi-décennie. Veuillez utiliser un IDE moderne.
Vous devez vous connecter pour publier un commentaire.
Je ne sais pas Dev C++, mais pour permettre à openmp vous devez également ajouter le drapeau -fopenmp de votre compilateur.
Supplémentaires à relier à l'omp.
Avec g++ - il ressembler à ce
g++ yourProgram.cpp -o yourProgram -lgomp -fopenmp
-fopenmp
sera de dire au compilateur de générer du code en parallèle. J'espère que cela aidera.g++
par défaut (quoique la MinGW port).Outils > Options du Compilateur > Cochez l'option "Ajouter les commandes suivantes lorsque le compilateur est appelé" > dans la zone de texte mis "-fopenmp"
Compiler et de l'exécuter à nouveau 🙂
il y a seulement de la région parallèle , le processeur est informé qu'il y a de quoi paralléliser , mais comme c'est de paralléliser le code qu'ils ont à dire par les constructeurs, probablement celle que vous souhaitez utiliser : #pragma omp sections
Je suppose que vous aussi, vous devez inclure le fichier d'en-tête #include < omp.h > séparément
Vous devez inclure
-fopenmp
danset
(cochez la case "ajouter les commandes suivantes lors de l'appel du compilateur"
et comprennent
-fopenmp
dans la zone de texteJ'ai aussi inclus
#include <omp.h>
dev-c++ version 5.6.1