我试图在.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
答案 0 :(得分:0)
为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>
声明。