试图让CUDA工作,示例找不到helper_cuda.h

时间:2013-10-14 03:07:49

标签: compiler-construction cuda compilation compiler-errors

我刚刚安装了CUDA并且一直关注http://docs.nvidia.com/cuda/cuda-getting-started-guide-for-mac-os-x/index.html

在尝试将示例代码(例如deviceQuery)复制到〜/ Desktop并编译之前,一切正常。

我在编译时遇到以下错误:

/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

代码将在CUDA目录中编译并运行,很明显编译器找不到helper_cuda.h,我找不到任何人都有解决方案吗?

2 个答案:

答案 0 :(得分:21)

正如您的编译选项-I../../common/inc所示,helper_cuda.h位于$CUDA_HOME/samples/common/inc/

如果要将样本复制到自定义位置,则必须复制整个samples目录,或修改一些代码/编译选项以包括common/目录中的人员。

答案 1 :(得分:0)

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

  

NVIDIA CUDA工具包包含源格式的示例程序。您应该通过更改为〜/ NVIDIA_CUDA-8.0_Samples并键入make来编译它们。生成的二进制文件将放在〜/ NVIDIA_CUDA-8.0_Samples / bin

请确定:

$ 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

应该显示版本。

$ cd ~/some_path/NVIDIA_CUDA-8.0_Samples

$ make