Ошибка при простой компиляции 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: в функции «int main (int, char **)»: FSPB_main.cpp: 167: 45: ошибка: «cudaMalloc» не был объявлен в этом scope

Что означает эта ошибка? Это всего лишь cudaMalloc, и предполагается, что он поддерживается компилятором, верно?

Можно ли использовать такие функции, как cudaMalloc, в файле .cpp? Нужно ли мне создавать файл .cu только для всего, что исходит от CUDA?

11
задан karlphillip 24 December 2013 в 13:01
поделиться