5 votes

Comment définir les drapeaux du compilateur CUDA dans Visual Studio 2010 ?

Après avoir persisté à obtenir error : identifier "atomicAdd" is undefined j'ai trouvé que la solution était de compiler avec -arch sm_20 drapeau. Mais comment passer ce drapeau de compilateur dans VS 2010 ? J'ai essayé comme suit sous Project > Properties :

enter image description here

Mais cela n'a apparemment eu aucun effet et l'erreur persiste - que fais-je de mal ?

Merci beaucoup.

15voto

RoBiK Points 1701

Vous pouvez sélectionner les options pour la génération de code GPU dans cette boîte de dialogue :

GPU Code Generation

Dans ce cas, "compute_20" signifie que je compile pour l'architecture de calcul virtuel 2.0 - l'architecture virtuelle influence l'étape de génération du PTX.

La deuxième partie qui vient après la virgule est "sm_21", ce qui influence l'étape de génération du CUBIN. Elle définit l'architecture réelle du GPU sur laquelle je veux compiler le PTX.

Vous trouverez une description détaillée des paramètres de la ligne de commande nvcc qui contrôlent la génération du code. aquí .

2voto

Bart Points 10767

Allez dans la section "Device" sous "CUDA C/C++". Là, dans "Génération de code", vous pouvez spécifier votre code d'accès. sm_20 . Pas besoin de la -arch .

2voto

DoctorBonzo Points 41

Sachez qu'il y a des propriétés distinctes pour le projet et les fichiers .cu. Apparemment, ils sont fusionnés avant la compilation.

Je m'étais fait prendre en essayant de spécifier les GPU pour le calcul 3.0 et plus, mais les propriétés .cu avaient des restes de spécifications pour 1.0 et 2.0.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X