2010-08-16 7 views
1

Je construis un grand projet avec un makefile qui a été construit à l'origine avec icpc, et maintenant je dois le faire fonctionner avec g ++. Quand il compile le fichier qui utilise openmp, il utilise l'option -c et n'utilise aucune bibliothèque, donc il finit par être en série au lieu d'openmp. Tous les exemples que je vois n'utilisent pas ce drapeau -c.en utilisant openmp avec un makefile et g ++

Existe-t-il un moyen de compiler sans liaison, mais en utilisant openmp?

modifier:

J'utilise le drapeau -lgomp (et la bibliothèque est sur le chemin de la bibliothèque):

g ++ -lgomp -c -w -O4 mainS.cpp
g ++: -lgomp: fichier d'entrée de l'éditeur de liens inutilisé car la liaison n'a pas été effectuée

Modifier: mon patron a fait plusieurs erreurs dans le code, le fichier makefile et la documentation. Désolé d'avoir perdu votre temps, au moins c'était moins que les 5 heures que je dépense dessus =/

Répondre

3

Passez-vous le drapeau pour activer OpenMP (IIRC c'est quelque chose comme -fopenmp? Si vous n'avez pas les chances compilateur ignore les primitives liées OpenMP et simplement produire du code série.

Je ne pense pas que -c (c.-à-compilez uniquement, n'aime pas) n'a rien à voir avec votre problème.

+0

Ajouter le drapeau -fopenmp ne semble pas avoir fonctionné – Jeremy

+0

@Jeremy, je suppose que vous avez vérifié que votre versio n de g ++ est construit avec le support OpenMP? –

+0

il a la bibliothèque lgomp sur le chemin, si c'est ce que vous voulez dire. Au-delà, je ne suis pas sûr de savoir comment vérifier. – Jeremy

-1

peut-être le documentation aide ...

+0

Cela ne semble pas avoir fonctionné, est-il un moyen de dire si elle est compilée avec le support openmp autre que de regarder en haut? – Jeremy

+0

Vous pouvez probablement le dire à partir de l'assemblage généré, mais je ne sais rien à ce sujet. Quelqu'un d'autre peut être en mesure de vous aider là-bas. Il y a aussi la vérification de santé mentale: http://stackoverflow.com/questions/1302368/how-to-tell-if-openmp-works-in-my-c-program – rubenvb

Questions connexes