CUDA : problemes de compilation

CUDA : problemes de compilation - C++ - Programmation

Marsh Posté le 03-06-2009 à 07:58:33    

Bonjour,
Voici mon probleme :
Je travaille avec Visual Studio 2008.
J'ai un code qui fonctionne en C++ et un autre code qui fonctionne en CUDA. Je souhaite inclure le second dans le premier en adaptant quelques parametres. Seulement voila, j'obtiens 510 erreurs toutes du type suivant :
 
error C2065: 'blockDim' : undeclared identifier
error C2228: left of '.y' must have class/struct/union type is ''unknown-type''
error C2065: 'threadIdx' : undeclared identifier
 
J'ai change tous les liens des proprietes du project que je pouvais changer, je peux vous detailler si necessaire.
J'ai lu l'exemple du SDK "cppintegration" je n'ai pas vu quoi changer a part rajouter extern "C" devant toutes les fonctions du projet, ce qui n'a d'ailleurs pas marche.
 
Si quelqu'un a deja eu le probleme ou connait une solution, merci de votre aide. :-)
Merci.
 
ps : desole pour les accents mais je suis au Japon et je n'ai pas acces a un azerty. (d'ailleurs si quelqu'un sait comment faire pour obtenir des accents avec un qwerty Japonais...)

Reply

Marsh Posté le 03-06-2009 à 07:58:33   

Reply

Marsh Posté le 03-06-2009 à 11:24:59    

tu compiles avec nvcc ?

Reply

Marsh Posté le 04-06-2009 à 02:11:45    

Eh bien a priori oui, vu que les options de compilation sont les memes pour mon projet CUDA et le projet C++. Cependant, il se peut que je n'ai pas correctement configure, mais dans ce cas la, je ne sais pas comment faire. Comment pourrais-je le verifier ?

Reply

Marsh Posté le 04-06-2009 à 06:56:18    

l'appel à nvcc se fait dans les Special Build Steps pas dans les options de compilations. Compare les 2 projets de ce coté.

Reply

Marsh Posté le 04-06-2009 à 08:44:54    

Desole, mais je n'ai pas trouve de Special Build Steps, ou sont-elles ? Je n'ai trouve que les Custom Build Steps et ce sont les memes pour les deux projets, en sachant qu'il n'y a rien du tout dedans a part "Performing custom build step".

Reply

Marsh Posté le 04-06-2009 à 10:05:18    

Custom oui c'ets ça ...
etrange, vérifie les chemins des executables nvidia dans les 2 cas

Reply

Marsh Posté le 04-06-2009 à 23:01:26    

Peut-etre en postant son build log ça pourrait aider à trouver ce qui cloche.

Reply

Marsh Posté le 05-06-2009 à 02:45:30    

Voici ce qui est indique :
    Creating temporary file "c:\usr\name\application\Motion\Debug\RSP00000159925672.rsp" with contents
[
/Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /Gm /EHsc /RTC1 /MDd /Fo"Debug\\" /Fd"Debug\vc90.pdb" /W3 /c /Wp64 /ZI /TP  /D"DLL_EXPORT=__declspec(dllexport)"
 
.\moc_MotionGUI.cpp
 
.\ImageCut.cpp
 
.\FastPoseCut.cpp
]
Creating command line "cl.exe @c:\usr\name\application\Motion\Debug\RSP00000159925672.rsp /nologo /errorReport:prompt"
Creating temporary file "c:\usr\name\application\Motion\Debug\RSP00000259925672.rsp" with contents
[
/Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /Gm /EHsc /RTC1 /MDd /Fo"Debug\\" /Fd"Debug\vc90.pdb" /W3 /c /Wp64 /ZI /TP  /D"DLL_EXPORT=__declspec(dllexport)"
 
.\MotionGUI.cpp
]
Creating command line "cl.exe @c:\usr\name\application\Motion\Debug\RSP00000259925672.rsp /nologo /errorReport:prompt"  
 
Apres j'ai plein d'erreurs identiques a celles donnees plus haut, je ne recopie donc pas.
 
MMh je ne comprends pas ce que tu veux dire par verifie les chemins des executables NVIDIA, je peux juste dire que la ligne de commande dans le menu CUDA est identique.
 
Peut-etre cela vient-il de la maniere dont j'ai melange C++ et CUDA. J'ai un fichier C++ avec une classe, un fichier .cu avec les fonctions qui font faire intervenir CUDA, et un kernel.cu Dans les fonctions de ma classe, j'appelle les fonctions du fichier .cu, qui lui fait appel aux differents kernel. Est-ce une erreur ?


Message édité par ivan ivanov le 05-06-2009 à 03:32:31
Reply

Marsh Posté le 05-06-2009 à 05:10:04    

Mon maitre de stage est passe par la et m'a dit qu'apparement je faisais appel deux fois au meme fichier du coup une fois il etait compile par nvcc et la seconde le compilateur C++ repassait dessus...
Merci de votre aide !


Message édité par ivan ivanov le 05-06-2009 à 08:05:11
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed