编译CUDA文件、C文件和CUDA头文件
Compiling a CUDA file, C file, and Cuda header file
我有一个CUDA内核,我想从C文件启动。我将内核放在一个.cu文件中,并创建了一个调用内核的包装器函数。然后,我制作了一个头文件,简单地声明了包装器函数。在我的C文件中,我包含了头文件并调用了包装器函数。
如果我想将这些文件编译成对象,然后将它们链接起来,我的makefile看起来会是什么样子?
nvcc使用文件扩展名自动确定语言和编译轨迹。因此,您实际上只需要一条编译语句,它可以像
这样简单:application: foo.cu bar.c
nvcc $(CUDAFLAGS) -XComplier=$(CFLAGS) -Xlinker=$(LDFLAGS) -o $@ $^
[免责声明:在浏览器中编写,不包含标签,从未测试过,确切的形式将取决于使用的口味,使用风险自负]
定义您在CUDAFLAGS
中需要的任何CUDA特定选项。我认为它将工作没有封闭的CFLAGS
和LDFLAGS
变量在引号中,但你可能需要尝试一点。
相关文章:
- 用于构建 cuda .so 文件(共享库)的生成文件
- CUDA opencv 构建失败 - 缺少实际存在的文件
- 使用nvcc(CUDA-RINSIDE)正确链接对象文件
- 致命错误:cuda.h:没有用于 c++ 的此类文件或目录
- 基于CMAKE的CUDA应用程序的构建失败 - 没有传递给链接器的文件
- 为什么 CUDA .cu 文件中会出现多个定义错误
- CUDA C++:文件中 kernel.cu 应有一个表达式
- CMAKE重新运行由于CUDA生成的文件
- cusparse功能的多个定义错误在链接可执行文件中的cuda文件时
- 如何使用C链接制作CUDA对象文件
- cuda文件并没有链接到C文件中定义的函数
- 将变量从 CUDA 文件发送到 CPP 文件
- 编译一个不支持c++11和.cxx文件的cuda代码需要一个带有vexcl示例的c++11
- 修改 CUDA 和 cpp 生成文件
- CUDA单独的内核文件错误
- 如何在任何文件中包含带有cuda常量的头文件
- 在VS 2010中将CUDA代码编译为二进制文件C++
- CMake + Cuda:在 Cuda-mode (--x=cu) 下编译 cpp 文件
- CUDA 集成在C++文件中
- 将原始数据从内存复制到文件(cuda)