尝试使现有的c项目适应CUDA,Makefile找不到的.cu文件

时间:2013-03-11 08:00:31

标签: c cuda makefile

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

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

它正在使用配置脚本和.am / .in / .deps文件,我并不是很了解这些文件,但基本上我对file.c进行了grepped并将它们全部更改为file.cu,但它生成一个file.o:File Not Found错误。

顶级制作文件

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

Src文件夹makefile

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

我使用的搜索命令是

grep -R -i "file.c"

我只是将它们全部更改为file.cu,然后重新运行configure,make clean,make all - 结果是File Not Found。

我认为它必须与Makefile忽略/接受的扩展有关,但是因为我用C编程已经很长时间了,而且我从未使用过如此复杂的Makefile,我不知道如何解决它。

有什么想法吗?

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

2 个答案:

答案 0 :(得分:1)

您需要有一条规则来构建o文件中的cu文件:

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

因此,您还需要为cu文件指定规则,并使用nvcc进行编译。

答案 1 :(得分:0)

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

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

实际上,链接中给出的大多数建议似乎都不需要进行基本编译,但出于某种原因,我发现当我使用autoconf重新创建配置文件时,它起作用了。想到没有解释。