Comment puis-je commencer un CUDA application dans Visual Studio 2010?
Question directe: Comment puis-je créer un simple hello world CUDA projet dans visual studio 2010?
De fond: j'ai écrit les noyaux CUDA. Je suis intimement familier avec la .vcproj fichiers à partir de Visual Studio 2005 -- modifié plusieurs à la main. Dans VS 2005, si je veux construire un CUDA noyau, j'ai ajouter une règle de génération personnalisée, puis de définir de façon explicite les nvcc appel à construire les fichiers.
J'ai migré vers Win 7, et VS 2010 car j'ai vraiment envie d'essayer nSight. J'ai nSight 1.5 est installé. Mais c'est là où je suis totalement perdu. Si je procède comme avant, nvcc rapports qu'il ne supporte que msvc 8.0 & 9.0. Mais le site indique clairement qu'il prend en charge VS 2010.
J'ai lu quelque part d'autre que j'ai besoin de VS 2008 (msvc 9.0) également installé -- ma parole. Le faire maintenant.
Mais je suppose qu'au moins une partie de mes problèmes proviennent de la homegrown personnalisé créer des spécifications de l'outil. Plusieurs sites web parler de l'ajout d'un *.fichier de règles pour la construire, mais j'ai compris que c'est seulement applicable pour VS 2008. En vertu de Construire "Personnalisations" je vois CUDA 3.1 et 3.2, mais lorsque j'ajoute des amandes pour le projet, ils ne sont pas construits. Un autre site proclame que la clé est de trois fichiers: Cuda.accessoires Cuda.xml Cuda.objectifs, mais il ne dit pas comment et où pour ajouter ces fichiers, ou plutôt que je vais jouer que je ne comprends pas les notes référencées dans le site web.
Donc personne ne sait comment créer un projet simple dans VS 2010 qui construit une CUDA noyau -- utilisant le nSight 1.5 installation ou la NvCudaRuntimeApi.v3.2.fichier de règles qui est livré avec le CUDA 3.2 RC?
Merci d'avance! J'aimerais offrir une prime, mais je n'ai que 65 points au total.
- Commentaire plutôt que de réponse car je ne sais pas si cela va aider. Vous pouvez trouver ce lien instructif: forums.nvidia.com/index.php?showtopic=161096
- Je n'avais pas vu cela, mais j'ai hésité à appliquer le patch nSight 1.5 que ce patch a été mise à jour en Mai 2010. Quelqu'un a utilisé sur le nouveau RC?
Vous devez vous connecter pour publier un commentaire.
CUDA TOOLKIT 4.0 et plus tard
La construction de personnalisation des fichier (installé dans le
Program Files\MSBuild\Microsoft.Cpp\v4.0\BuildCustomizations
répertoire) "enseigne" Visual Studio comment faire pour compiler et lier tout .cu fichiers de votre projet dans votre application. Si vous avez choisi d'ignorer l'installation de la personnalisation, ou si vous avez installé VS2010 après CUDA, vous pouvez les ajouter par la suite en suivant les instructions de la sectionProgram Files\NVIDIA GPU Computing Toolkit\CUDA\v4.0\extras\visual_studio_integration
..cu
fichiers avant de les construire de personnalisation, alors vous aurez besoin de définir le type de la.cu
fichiersCUDA C/C++
(clic droit sur le fichier, Propriétés, ensemble Type d'Élément)cudart.lib
à la Dépendances Supplémentaires)D'ailleurs je serais partisan d' éviter cutil si possible, plutôt que rouler votre propre contrôle. Cutil n'est pas pris en charge par NVIDIA, c'est juste pour essayer de garder les exemples fournis dans le kit de développement axé sur le programme et la conception d'un algorithme et d'éviter de répéter les mêmes choses à chaque exemple (par exemple, la ligne de commande de l'analyse). Si vous écrivez votre propre alors vous aurez beaucoup de mieux contrôler et savent ce qui se passe. Par exemple, le
cutilSafeCall
wrapper appelsexit()
si la fonction échoue - une application réelle (par opposition à un échantillon) doit probablement gérer la défaillance de manière plus élégante!NOTE
Cette réponse s'applique à CUDA 3.2, à partir de 4.0 à partir de CUDA supporte la VC 10 compilateur directement, voir les autres réponses pour plus d'informations
Vous avez besoin de VS 2008 ou de la version 6.1 de Windows SDK installé. C'est parce que NSight 1.5 RC ou CUDA SDK 3.2 utilisation de la VC 9 compilateur sous le capot. J'ai travaillé avec succès avec de 2008 installé et m'a dit que ca devrait fonctionner avec le SDK, mais je n'ai pas essayé.
Avec NSight 1,5 et/ou le CUDA SDK 3.2 vous ne devriez pas avoir besoin de coucher avec toutes les règles de génération personnalisée. J'y ai été et c'est douloureux. Avec les dernières versions de tout ce qui va loin:
.accessoires)" personnalisation.
Il faut juste construire. Laissez-moi savoir si cela aide si vous rencontrez des problèmes car c'est à partir de la mémoire.
La bonne nouvelle, il se CUDA de travail avec VS 2010 juste obtenu beaucoup plus facile.
Ade
BTW: je vais mettre à jour mon blog.
Un autre Bon tutoriel ici:
http://www.stevenmarkford.com/installing-nvidia-cuda-with-visual-studio-2010/
si vous obtenez une erreur "< " remarque cette étape (à partir d'une réponse précédente):
Si vous avez ajouté .cu fichiers avant de les construire de personnalisation, alors vous aurez besoin de définir le type de l' .cu fichiers de CUDA C/C++ (clic droit sur le fichier, Propriétés, définissez le Type d'Élément de)
Mais si vous suivez leurs pas, il devrait fonctionner!