2014-12-02 85 views
0

我试图在.cu文件上使用nvcc编译.ptx代码。对于一些它的工作原理以及对一些人来说会产生“找不到文件”的错误:'nvcc -ptx file.cu'致命错误:文件未找到

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

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> 

声明。

+0

罗伯特,它的作品!非常感谢你。 – travelingbones 2014-12-05 16:05:23