如何在CPP项目中使用CUDA
很多时候我们需要对一个cpp项目中某一部分进行GPU加速,如下步骤能够实现这一目的。
1.创建一个CPP项目
直接新建或者打开已有的cpp项目
2.添加.cu/.cuh文件
右键项目,新建或者添加已有的.cu/.cuh文件
3.修改.cu文件
注意:.cpp文件不能直接调用kernel函数(添加了cuda的头文件也不行)
于是我们可以以函数调用的方式,从.cpp文件调用一个.cu里的函数,再借用这个函数调用kernel函数达到最终目的。
具体做法为:
a、在.cu文件中,函数定义前加上extern “C”,如:
//这段代码在.cu文件中
extern "C"
void cuda_func()
{
//你的代码
}
b、新建一个.cuh头文件,声明上面定义的函数,如:
//这段代码在.cuh头文件中
extern "C"
void cuda_func();
c、在.cpp文件中,包含上面的头文件,如:
#include "头文件名.cuh"
4.工程配置修改
a、右键项目,生成依赖项,生成自定义,勾选CUDA 11.1(版本号不唯一)
b、右键你的.cu文件,属性,项类型,选择为CUDA C/C++
c、右键项目,属性,链接器,输入,附加依赖项,添加cudart.lib
d、工具,选项,文本编辑器,文件拓展名,添加cu和cuh两个文件拓展名
5.配置成功
呼~