本文主要介绍在ubuntu系统上,怎样对.cu文件进行编译,生成.so或可执行文件。
一、cuda文件
后缀为.cu的文件,里面主要利用cuda进行高效的并行计算。
二、编译
主要有2种编译方法:
1)nvcc方式:最直接,使用cuda的nvcc来编译,但是据说一次只能添加一个.cu文件。
2)cmake方式:大工程里更简单,已经把nvcc封装成了相应接口。
具体如下
1、nvcc方式
直接用单条命令,或在makefile里使用以下命令
#生成可执行文件
nvcc xx.cu -o demo
#生成动态库
nvcc xx.cu -shared -o demo
2、cmake方式
cuda_add_library(yourLibName SHARED xx.cu)
生成动态库
cuda_add_library(yourLibName STATIC xx.cu)
生成静态库
cuda_add_library_executable(yourLibName main.cu)
生成可执行文件
示例:
cmake_minimum_required(VERSION 3.0 )
project(linger)
#注意先链接cuda
# cuda
find_package(CUDA REQUIRED)
include_directories(/usr/local/cuda/include)
link_directories(/usr/local/cuda/lib64)
#生成动态库
cuda_add_library(yourLibName SHARED xx/xx.cu)