Java教程

VS2015编译GPU程序

本文主要是介绍VS2015编译GPU程序,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

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); //设置选中的设备为下文的运行设备
这篇关于VS2015编译GPU程序的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!