Comment mettre en place openMP
Je voudrais tester openMP avec C sur Windows 7 avec l'IDE Eclipse. Je ne peux pas trouver n'importe où certaines étapes spécifiques à suivre pour mettre en place openMP. Pouvez-vous m'aider?
Cette page d'aide? gcc.gnu.org/onlinedocs/libgomp/... Fondamentalement, vous ajoutez -fopenmp comme compilateur drapeau, et ajouter sprincle
Qu'est-ce que votre compilateur?
Le compilateur MinGW
#pragma omp whatever
dans votre codeQu'est-ce que votre compilateur?
Le compilateur MinGW
OriginalL'auteur TGM | 2011-11-12
Vous devez vous connecter pour publier un commentaire.
Dans Eclipse, vous devez configurer les paramètres suivants dans votre projet de configuration:
Vous devez également installer openmp binaires pour MinGW:
TDM-GCC
Je pense que vous devez installer TDM-GCC, car autant que je sache, la norme MinGW n'a pas le soutien d'openmp.
Pouvez-vous svp me donner quelques direct les directions parce que je semble que j'ai tout gâché.
pouvez-vous me dire ce que vous avez foiré?
J'ai installé le TDM-GCC et maintenant, je voulais inclure gomp et -fopenmp mais je ne peux pas trouver quelque chose dans ces sections. Peut-être que je me trompe.
OriginalL'auteur tune2fs
Je n'ai pas fait beaucoup avec OpenMP, mais voici ce que j'ai trouvé de l'essayer moi-même.
OpenMP permet de dire au compilateur que les choses devraient s'exécuter en parallèle. Voici un exemple qui compte à 10000000000:
Cela va compiler comme un C normale du programme:
Il fonctionne en 30 secondes sur ma machine:
L'ajout de la
-fopenmp
option de gcc permet OpenMP soutien. C'est tout ce que vous devez avoir la boucle exécuter dans plusieurs threads.Ce moitiés de l'exécution d'un délai de 15 secondes sur un dual core système:
Voici une brève description de ce qu'
#pragma
ligne n':C'est un préfixe pour openmp commandes.
Indique au compilateur que la prochaine déclaration doit s'exécuter en parallèle.
Combine toutes les valeurs de
result
variable à partir de l'boucles parallèles en une seule valeur par addition. La suppression de ce résultats dans le dernier numéro imprimé incorrect.Je sais que vous êtes à l'aide d'eclipse mais la MSDN docs sont très bons pour décrire OpenMP:
OpenMP dans Visual C++
OriginalL'auteur JDaly