2013-10-14 1 views
7

ich CUDA gerade installiert und haben folgende worden http://docs.nvidia.com/cuda/cuda-getting-started-guide-for-mac-os-x/index.htmlDer Versuch, CUDA Funktion zu erhalten, können Probe nicht finden helper_cuda.h

Alles funktioniert, bis ich versuchen, einen Beispielcode wie DEVICE zu ~/Desktop zu kopieren und kompilieren .

ich die folgenden Fehler bei der Kompilierung:

/Developer/NVIDIA/CUDA-5.5/bin/nvcc -ccbin g++ -I../../common/inc -m64 -Xcompiler -arch -Xcompiler x86_64 -gencode arch=compute_10,code=sm_10 -gencode arch=compute_20,code=sm_20 -gencode arch=compute_30,code=sm_30 -gencode arch=compute_35,code=\"sm_35,compute_35\" -o deviceQuery.o -c deviceQuery.cpp 
deviceQuery.cpp:23:25: error: helper_cuda.h: No such file or directory 
deviceQuery.cpp: In function ‘int main(int, char**)’: 
deviceQuery.cpp:111: error: ‘SPRINTF’ was not declared in this scope 
deviceQuery.cpp:116: error: ‘_ConvertSMVer2Cores’ was not declared in this scope 
deviceQuery.cpp:206: error: ‘checkCudaErrors’ was not declared in this scope 
deviceQuery.cpp:230: error: ‘checkCudaErrors’ was not declared in this scope 
deviceQuery.cpp:241: error: ‘checkCudaErrors’ was not declared in this scope 
make: *** [deviceQuery.o] Error 1 

Der Code wird in dem CUDA-Verzeichnis kompilieren und ausführen und es ist klar, dass der Compiler nicht helper_cuda.h finden kann, kann ich es nicht finden Hat jemand eine Lösung?

Antwort

18

Wie in den Kompilieroptionen -I../../common/inc angegeben, befindet sich helper_cuda.h in $CUDA_HOME/samples/common/inc/.

Wenn Sie die Beispiele an einen benutzerdefinierten Ort kopieren möchten, müssen Sie das gesamte Verzeichnis samples kopieren oder einige Code-/Kompilierungsoptionen so ändern, dass die Mitarbeiter in common/ enthalten sind.

0

http://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html#environment-setup

Die NVIDIA CUDA Toolkit enthält Beispielprogramme in Quellform. Sie sollten sie kompilieren, indem Sie zu ~/NVIDIA_CUDA-8.0_Samples wechseln und make eingeben.

$ export PATH=/usr/local/cuda-8.0/bin${PATH:+:${PATH}}

$ export LD_LIBRARY_PATH=/usr/local/cuda-8.0/lib64\ ${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}

$ nvcc -V

Version zeigen sollte: Die resultierenden Binärdateien werden

unter ~/NVIDIA_CUDA-8.0_Samples/bin

Nur sicher sein, platziert werden.

$ cd ~/some_path/NVIDIA_CUDA-8.0_Samples

$ make