【问题标题】:'nvcc -ptx file.cu' fatal error: file not found'nvcc -ptx file.cu' 致命错误:找不到文件
【发布时间】:2015-01-31 08:58:17
【问题描述】:

我正在尝试在 .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

【问题讨论】:

    标签: nvcc ptx


    【解决方案1】:

    给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>
    

    里面的声明。

    【讨论】:

      猜你喜欢
      • 2020-10-02
      • 2015-01-20
      • 2014-12-21
      • 2013-12-10
      • 1970-01-01
      • 1970-01-01
      • 2022-07-13
      • 1970-01-01
      • 2021-01-19
      相关资源
      最近更新 更多