1 安装软件
VS2015
CUDA
cuDNN
下载和安装方法这里不再赘述,如需要可参考之前文章。
2 工程建立及配置
2.1 工程建立
采用通常方法建立工程即可,没有特殊要求。
2.2 工程配置
项目右键-生成依赖项-生成自定义,弹出“Visual C++ 生成自定义文件”对话框,勾选CUDA x.x,其中x.x是安装CUDA的版本号,确定
3 CUDA源文件及设置
CUDA代码不能写在cpp里,否则会出现’<<<‘不认识而无法编译的问题,要写在.cu文件里,但.cu文件可以包含C/C++代码;
3.1 CUDA源文件添加
项目右键-添加-新建项-NVIDIA CUDA x.x-Code,可新建CUDA C/C++ File,扩展名为.cu,或CUDA C/C++ Header,扩展名为.cuh
3.2 CUDA源文件的编译设置
如果是按以上方法添加的.cu文件,这里就会自动配置好。
如果.cu是其他方法添加的,可能需要进行以下配置:
.cu文件右键-属性-弹出文件”属性页“,常规-项类型选择”CUDA C/C++“,应用,会多出一项CUDA C/C++,Common-Target Machine platform按项目要求选择32-bit或64-bit
4 CUDA常用头文件及库
4.1 CUDA头文件
一般位于C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\vx.x\include
#include <cuda_runtime.h>
#include <device_launch_parameters.h>
4.2 CUDA常用库
一般位于C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\vx.x\lib下的Win32或x64
cudart.lib
5 CUDA常用函数
5.1 取系统GPU个数
int deviceCount;
cudaGetDeviceCount(&deviceCount);
5.2 取指定GPU设备信息
cudaDeviceProp devProp;
cudaGetDeviceProperties(&devProp, devideIndex);
5.3 按指定属性要求选取GPU设备
//定义需要的设备属性
cudaDeviceProp devicePropDefined;
memset(&devicePropDefined, 0, sizeof(cudaDeviceProp)); //设置devicepropDefined的值
devicePropDefined.major = 5;
devicePropDefined.minor = 2;
int devicedChoosed; //选中的设备ID
cudaError_t cudaError;
cudaGetDevice(&devicedChoosed); //获取当前设备ID
cudaChooseDevice(&devicedChoosed, &devicePropDefined); //查找符合要求的设备ID
cudaError = cudaSetDevice(devicedChoosed); //设置选中的设备为下文的运行设备