我正在尝试在.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 变量设置不同?知道如何解决不起作用的吗?谢谢哗啦��
nvcc
提供所需的任何包含文件的路径。 您这样做的方式与gcc
/g++
相同。 您不必为其指定的唯一包含文件(带有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>
其中的声明。