Comment retourner une seule variable à partir d'une fonction noyau CUDA?
J'ai un CUDA fonction de recherche qui calculent une seule variable. Comment puis-je revenir en arrière.
__global__
void G_SearchByNameID(node* Node, long nodeCount, long start,char* dest, long answer){
answer = 2;
}
cudaMemcpy(h_answer, d_answer, sizeof(long), cudaMemcpyDeviceToHost);
cudaFree(d_answer);
pour ces deux lignes, j'obtiens cette erreur:
erreur: argument de type "long" est incompatible avec le paramètre de type "const void *"
source d'informationauteur Pouya BCD
Vous devez vous connecter pour publier un commentaire.
J'ai été en utilisant
__device__
variables à cet effet, de cette façon, vous n'avez pas à s'embêter aveccudaMalloc
etcudaFree
et vous n'avez pas à passer un pointeur comme un noyau de l'argument, ce qui vous permet d'économiser de s'inscrire dans votre noyau à démarrer.Pour obtenir un résultat unique que vous avez à Memcpy, c'est à dire:
Je suppose que l'erreur parce que vous êtes de passage à une valeur de type long, au lieu d'un pointeur vers une valeur de type long.