0

我正在尝试在 .cu 文件上使用 nvcc 构建 .ptx 代码。对于某些它可以工作,而对于某些它会产生“找不到文件”错误:

macair93278:matrixMul r8t$ nvcc -ptx matrixMul.cu
matrixMul.cu:36:10: fatal error: 'helper_functions.h' file not found
#include <helper_functions.h>
         ^
1 error generated.

但是当我尝试另一个文件时它可以工作:

macair93278:matrixMulCUBLAS r8t$ cd ../matrixMulDrv/
macair93278:matrixMulDrv r8t$ ls
Makefile        NsightEclipse.xml   matrixMulDrv.cpp    readme.txt
Makefile-e      matrixMul.h     matrixMul_kernel.cu
macair93278:matrixMulDrv r8t$ nvcc -ptx matrixMul_kernel.cu
macair93278:matrixMulDrv r8t$ ls
Makefile        NsightEclipse.xml   matrixMulDrv.cpp    matrixMul_kernel.ptx
Makefile-e      matrixMul.h     matrixMul_kernel.cu readme.txt

也许当我跑

make     

在其中一些我的 PATH 变量设置不同?知道如何修复那些不起作用的吗?谢谢,bb

4

1 回答 1

0

提供nvcc所需的任何包含文件的路径。您以与gcc/相同的方式执行此操作g++。唯一不需要为 (with nvcc) 指定的包含文件是位于/usr/local/cuda/include

因此,如果在您的机器上,helper_functions.h位于 中/usr/local/cuda/samples/common/inc,则编译如下:

nvcc -ptx -I/usr/local/cuda/samples/common/inc matrixMul.cu

它起作用的原因matrixMul_kernel.cu是因为该文件没有

#include <helper_functions.h>

在里面声明。

于 2014-12-04T06:06:48.490 回答