Comment doit-il très simple Makefile pour Cuda la compilation sous linux
Je veux compiler un très de base bonjour tout le monde, niveau Cuda programme sous Linux. J'ai trois fichiers:
- le noyau: helloWorld.cu
- méthode main: helloWorld.cpp
- en-tête commun: helloWorld.h
Pourriez-vous m'écrire un simple fichier Makefile pour compiler ce avec nvcc et g++?
Merci,
Gabor
S'il vous plaît, étiquette de votre faire-des questions liées à [faire] de la balise. Justification: meta.stackexchange.com/questions/24030/...
OriginalL'auteur Vereb | 2009-10-22
Vous devez vous connecter pour publier un commentaire.
Juste au cas où, voici ma variante. Je l'utilise pour compiler CUDA projets sur Mac, mais je pense qu'il sera adapté à Linux. Il nécessite CUDA SDK.
Je sais que l'âge de ce post, mais cette information pourrait être utile pour les personnes qui commencent à travailler avec CUDA < 5.x. En fait, l'on a accepté la réponse est en s'appuyant sur la commune.mk fichier qui tire dans le cutil de la dépendance "-lcutil". De toute façon, pour CUDA >= 5.x, l'utilisation de la commune.mk n'est plus requis/a encouragé, comme tous les Makefiles sont dit être autonome (s). aussi le Changelog)
OriginalL'auteur fjarri
Je n'ai jamais entendu parler de Cuda avant, mais à partir de la documentation en ligne, il semble que si X. cu est censé être compilé dans X. o, afin d'avoir helloWorld.cu et helloWorld.cpp n'est pas une bonne idée. Avec votre permission, je vais renommer le "noyau" de helloKernel.cu, alors cela devrait fonctionner:
(À noter que ces espaces sont des onglets.)
Si cela fonctionne, essayez un ciré version:
Je n'ai pas accès à nvcc, donc je ne peux pas être certain, mais d'après la documentation, oui. Pour l'ordinaire compilateur tâches, nvcc mains le travail d'un compilateur standard comme g++.
oui, j'ai accès à nvcc et il fonctionne parfaitement.
OriginalL'auteur Beta
Ma version, verbeux mais transparent:
OriginalL'auteur keraba
Voici un exemple de ce que mon projet actuel ressemble. Comme vous pouvez le voir il y a quelques bibliothèques OpenGL
puis exécutez
make ce
et
./ce
OriginalL'auteur John Riselvato