我尝试修改一段用C语言编写的GPL程序。我的目标是用CUDA实现替换其中的一个方法,这意味着我需要使用nvcc而不是gcc进行编译。我需要帮助构建项目 - 而不是实现它(您不需要了解CUDA C来提供帮助,我认为)。
这是我第一次尝试更改一个涉及.configure和Makefile的中等复杂度的C项目。老实说,这是我很长一段时间以来第一次做任何关于gcc或g++的事情,所以我很迷茫。
我对学习configure和Makefiles不是特别感兴趣 - 这更像是一个实验。在花费时间创建适当的构建脚本之前,我想看看项目实现情况如何。(必要时愿意学习,只是试图给出一个范围的想法)。
那么,我构建此项目的选择有哪些?我有许多问题...
我尝试在AC_PROG_CC后将“CC = nvcc”添加到configure.in文件中。这似乎有效 - 运行configure和make的输出显示nvcc是编译器。但是,make未能使用具有CUDA内核的源文件进行编译,无法识别CUDA特定的语法。我不知道为什么,希望这只是能够正常工作。
是否可以使用nvcc编译源文件,然后在make过程的链接步骤中将其包含进主程序?如果可以,如何实现?(这个问题可能没有意义 - 我真的很生疏)
这么做的正确方法是什么?
是否有一种快速而简单的方法可用于测试目的?
是否有某些秘密工具可供每个人设置和理解这些configure和Makefiles?这比我习惯的Apache Ant脚本还要糟糕(是的,我已经超出了我的领域)
.cu
扩展名才能正确编译。 - talonmies