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