Utiliser openMP dans le code hôte cuda?
Il est possible d'utiliser openMP pragmas dans le CUDA-Fichiers (pas dans le code du noyau)?
Je vais combiner les gpu et cpu calcul. Mais nvvc compilateur échoue avec "impossible de trouver l'option Inconnue 'openmp' ", si je suis reliant la porgram avec un openmp option (sous linux)
Un wayaround est d'utiliser openMP-relevés uniquement en c/c++ fichiers.
source d'informationauteur LonliLokli
Vous devez vous connecter pour publier un commentaire.
Je viens de trouver ce
http://www.cse.buffalo.edu/faculty/miller/Courses/CSE710/heavner.pdf
Page 25 dit:
Avec gcc:
-#include omp.h
Ajouter le
-fopenmp
drapeauAvec nvcc, cela devrait être
-Xcompiler -fopenmp
que ce doit être transmis directement à gcc-Xcompiler passe drapeaux directement à l'hôte compilateur
Ajouter
-lgomp
drapeau au cours de l'étape de lien.Je n'ai pas encore essayé...
J'ai essayé d'écrire le paramètre dans "Autres Options du Compilateur" mais il ne fonctionne pas.
Ce que j'ai fait pour Visual Studio 2010 et CUDA 4.2:
Dans les Propriétés du Projet -> Propriétés de Configuration -> CUDA C/C++ -> en Ligne de Commande -> Options Supplémentaires:
-Xcompiler "/openmp"
Ce qui a entraîné deux Xcompiler paramètres dans la commande de construction, mais ne cause pas de problèmes et a travaillé avec succès.
La solution Visual Studio trouvé la nvidia-forum:
ajouter '/openmp'-drapeau pour le Supplément C++ Options dans cuda des règles de génération. Je vais essayer linux, la solution plus tard.