基于Visual Studio 2015的CUDA编程(一):基本配置

一、CUDA简介

CUDA是一种由NVIDIA推出的通用并行计算架构,该架构使GPU能够解决复杂的计算问题。它包含了CUDA指令集架构(ISA)以及GPU内部的并行计算引擎。开发人员可以使用C语言来为CUDA架构编写程序,所编写出的程序可以在支持CUDA的处理器上以超高性能运行。
目前为止,基于 CUDA 的 GPU 销量已达数以百万计,软件开发商、科学家以及研究人员正在各个领域中运用 CUDA,其中包括图像与视频处理、计算生物学和化学、流体力学模拟、CT 图像再现、地震分析以及光线追踪等。

二、CUDA的下载和安装

下载CUDA应用程序时,需要提前确定电脑显卡的驱动程序版本对应的CUDA版本。
1)进入控制面板,找到NVIDIA控制面板,双击进入。
在这里插入图片描述
2)点击“帮助”按钮下的“系统信息”,得到显卡的型号为GeForce 920M,驱动程序版本为376.51。
在这里插入图片描述
3)通过CUDA官网提供的信息,获取CUDA版本对应的显卡驱动程序版本。
在这里插入图片描述
CUDA Toolkit and Corresponding Driver Versions

4)搜索对应的CUDA版本并下载。

CUDA官网下载

5)安装CUDA

网上可以找到许多安装教程的文章,其中我觉得有一篇博文比较好,里面还提到了如何配置深度学习的库cuDNN,如果只是做并行计算可以不用装这个库。

CUDA安装教程

三、创建CUDA项目

1)点击“文件”,选择“新建”,“项目”,定位到“Visual C++”选项卡。
在这里插入图片描述
2)选择“空项目”,解决方案和名称可以自己输入,如图中所示,项目保存的位置可以自己更改。
在这里插入图片描述
3)选择“源文件”,点击鼠标右键,选择“添加”→“新建项”,再选择“CUDA C/C++ File”,就可以创建一个.cu文件。
在这里插入图片描述
4)选中“Example_1”,点击鼠标右键,选择“生成依赖项“→“生成自定义”→选择“CUDA”CUDA8.0→确定。
在这里插入图片描述
在这里插入图片描述
5)选中“Hello_GPU.cu”文件,点击鼠标右键,选择“属性”→“配置属性”→“常规”→“项类型”→“CUDA C/C++”。
在这里插入图片描述
6)选中“Example_1”,点击鼠标右键,选择“属性“→“VC++目录”,在“包含目录”中添加:C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0\include
在“库目录”中添加:C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0\lib\x64
(x64表示电脑的操作系统为64位,以上两个路径与自己安装CUDA的位置有关)。
在这里插入图片描述
点击“CUDA C/C++”选项,选择“Common”,将目标机器平台设置为“64-bit”。
在这里插入图片描述
7)选中“Example_1”,点击鼠标右键,选择“属性“→“链接器”→“输入”→“附加依赖项”。
在这里插入图片描述
添加自己需要的.lib文件名称,例如:

cublas.lib
cuda.lib
cudart.lib
cufft.lib

.lib文件所在的位置如下图所示。
在这里插入图片描述
上面其实就是“库目录”下的文件。
到此,Visual Studio 2015里面所有为CUDA编程而设置的选项都已经操作完成,接下来可以利用CUDA编程调用GPU实现并行运算的功能。

四、CUDA的C代码

CPU和GPU实现的功能相同,程序执行的方式有差异。

#include<stdio.h>
#include "cuda_runtime.h"
#include "device_launch_parameters.h"

void cpu()
{
	printf("hello,cpu\n");
}

__global__ void gpu()
{
	printf("hello,gpu\n");
}

int main()
{
	cpu();
	gpu << <1, 1 >> >();
	cudaDeviceSynchronize();
}

程序运行结果如图
在这里插入图片描述
为了解决程序运行后控制台出现闪退的问题,可以进行下面的设置。
选中“Example_1”,点击鼠标右键,选择“属性“→“链接器”→“系统”→“子系统”,在“子系统里面”选择“控制台”。
在这里插入图片描述
各位志同道合的朋友,如果你们觉得这篇博文写的不错或者正好解决了你的问题,请动动手指,点个赞 再走。
有什么疑问可以在文章底下评论,我会逐条回答,既可以解决你的问题,还有可能给其他人提供解决的思路。有些问题需要私聊的可以私信我哦!

  • 16
    点赞
  • 34
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 13
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Zhi Zhao

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值