0

我正在尝试使用 CUDA 加速 ac 项目(不是 c++)中的关键功能。

出于某种原因,当我将其中一个文件的名称更改为 .cu 时,我无法让 Makefile 识别 .cu 扩展名。

它使用了一个配置脚本和 .am/.in/.deps 文件,我不太了解这些文件,但基本上我对 file.c 的引用进行了 grepped 并将它们全部更改为 file.cu,但它会生成一个文件.o:找不到文件错误。

顶级制作文件

https://www.dropbox.com/s/g282qvbdu8pdas0/Makefile

src 文件夹生成文件

https://www.dropbox.com/s/b4pq026od8gauqi/Makefile

我使用的搜索命令是

grep -R -i "file.c"

我只是将它们全部更改为file.cu,然后重新运行configure,make clean,make all-结果是找不到文件。

我想这一定与Makefile忽略/接受的扩展有关,但是自从我用C编程以来已经有很长时间了,而且我从未使用过如此复杂的Makefile,我不知道如何修复它.

有任何想法吗?

*PS 另外,file.cu 目前有编译错误,但我得到的错误消息是 File Not Found,所以我认为这不是问题。

4

2 回答 2

1

您需要有一个规则来o从文件构建cu文件:

cudafile.o: cudafile.cu
    nvcc $(NVCC_FLAGS) -c %< -o $@

所以你还需要为cu文件指定规则,并使用nvcc进行编译。

于 2013-03-11T08:06:19.953 回答
0

以下指南似乎涵盖了它......

http://mcclanahoochie.com/blog/2011/02/automake-and-cuda/

实际上,链接中给出的大多数建议对于基本编译似乎都是不必要的,但由于某种原因,我发现当我使用 autoconf 重新创建配置文件时它起作用了。没有任何解释浮现在脑海。

于 2013-03-14T04:18:09.957 回答