Trying to get CUDA working, sample can't find helper_cuda.h

Posted by Lorie Orum on Sunday, May 19, 2024

I just installed CUDA and have been following http://docs.nvidia.com/cuda/cuda-getting-started-guide-for-mac-os-x/index.html

Everything works up until I try to copy a sample code such as deviceQuery to ~/Desktop and compile.

I get the following errors at compile:

/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 

The code will compile and run in the CUDA directory and it is clear that the compiler can't find helper_cuda.h, I can't find it either does anyone have a solution?

2 Answers

As indicated by your compile options -I../../common/inc, helper_cuda.h is located in $CUDA_HOME/samples/common/inc/.

If you want to copy the samples to a customized place, you have to copy the whole samples dir, or modify some code/compile options to include staff in common/ dir.

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

The NVIDIA CUDA Toolkit includes sample programs in source form. You should compile them by changing to ~/NVIDIA_CUDA-8.0_Samples and typing make. The resulting binaries will be placed under ~/NVIDIA_CUDA-8.0_Samples/bin

Just be sure:

$ 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

Should show version.

$ cd ~/some_path/NVIDIA_CUDA-8.0_Samples

$ make

ncG1vNJzZmirpJawrLvVnqmfpJ%2Bse6S7zGiorp2jqbawutJoaHJrZWeGdX2OramyoZ6cerW7jKCcrWWTqrGiedaoqaShnpx6tK3MqaOeZZOWu7V5xaKlnWWYmrmxsdFmmq6ckWK1