2010-02-28 9 views
1

J'ai beaucoup de structs (classes) et de fonctions autonomes que je compile séparément puis je crée un lien vers le noyau CUDA, mais je reçois l'erreur "Les appels externes ne sont pas supportés" lors de la compilation (pas de liaison) le noyau. nvcc force toujours à utiliser les fonctions inline du noyau. C'est très frustrant !! Si quelqu'un a trouvé un moyen de réaliser une compilation incrémentielle, merci de partager.Compilation incrémentale dans nvcc (CUDA)

Voir également le fil suivant sur les forums NVIDIA. http://forums.nvidia.com/index.php?s=&showtopic=103256&view=findpost&p=1009242

Répondre

3

Actuellement, vous ne pouvez pas appeler les fonctions de l'appareil à partir du GPU dans CUDA, ce qui explique pourquoi ils sont en ligne. Le matériel prend en charge les fonctions du périphérique sans inlining.

+0

Et pour autant que je sache, les fonctions inline ne peut pas être liée à partir du fichier objet. Droite? – Aamir

+0

Non, vous aurez besoin de la prochaine génération pour ça aussi. – Tom

0

Ok, il peut maintenant être fait avec CUDA 5.

Questions connexes