Erreur dans une simple compilation cuda

FSPB_main.cpp

int main(int args, char* argv[]){    
    .......   

   float *d_a;   
   cudaMalloc( (void**)&d_a, 5*sizeof(float) );

}

$ nvcc -L/usr/local/cuda/lib -lcutil -lcudpp -lcuda -lcudart -c -o
FSPB_main.o FSPB_main.cpp

FSPB_main.cpp: In function ‘int main(int, char**)’:
FSPB_main.rpc:167:45: erreur: ‘cudaMalloc’ n'a pas été déclarée dans ce
portée

Que fait cette erreur signifie? C'est juste un cudaMalloc et il suppose d'être pris en charge par le compilateur droit?

Pouvez les fonctions comme cudaMalloc être utilisé dans un .fichier cpp? Dois-je créer un .cu fichier juste pour tout ce qui vient de CUDA?

OriginalL'auteur Manolete | 2011-06-16