CPU+GPU异构式并行加速环境的搭建

CPU+GPU异构式并行加速环境的搭建

前言

此文章假设阅读对象有C++语言基础但在并行领域未曾入门,介绍了如何搭建CPU+GPU异构式并行加速环境。其中,CPU上需要使用的语言为OpenMP,GPU上需要使用的语言为CUDA。本文章主要介绍环境的搭建,所以不详细介绍语言和代码部分。如果需要快速入门OpenMP和CUDA,推荐以下博客(从许多博客中挑选而出,讲解清楚,适合入门):
链接: [https://blog.csdn.net/lanbing510/article/details/17108451].(OpenMP入门)
链接: [https://bbs.csdn.net/topics/390798229].(CUDA入门)
另外,本文章中不公布代码部分,如若需要,请自行联系博主,博主联系方式置于最后。首先介绍的部分是基本思路,便于读者了解做什么,之后的部分将介绍如何搭建环境。

基本思路

事先假设数据来源为阵列天线,则实现加速的方式示意图如下:

示意图中CPU部分通过OpenMP语言的调用实现多线程处理。GPU部分通过调用CUDA语言实现多线程处理,另外数据的交互也是通过CUDA语言中的“cudaMemcpy”指令实现。将原先的单线程转为多线程后,数据处理的速度将会得到增加。除此之外,值得注意的是由于CPU擅长对逻辑部分进行处理,而GPU拥有强大的计算能力,因此建议逻辑性强的程序部分交由CPU执行,计算量大的部分交由GPU执行。

环境搭建

为了顺利搭建环境,请严格按照以下步骤操作。

OpenMP环境搭建

首先下载VS2017(VS低于2015的版本不支持nvcc编译)。(VS2017下载地址)下载安装完成VS2017后,可以使用快捷键Ctrl/Command + Shift + N完成新建项目。

1.找到右端解决方案资源管理器
在这里插入图片描述
2.右键点击项目名称
在这里插入图片描述
3.单击属性并勾选OpenMP支持
在这里插入图片描述
完成以上操作之后,便可以利用VS2017实现OpenMP语言的编写。

CUDA环境搭建

首先下载CUDA,推荐下载CUDA9.0点此下载CUDA各版本
安装过程中,所有路径选择为默认路径。如果安装成功可以按照以下博客完成CUDA和VS环境的搭建:VS2017+CUDA9.0环境搭建
如果VS无法和CUDA完成配置,可以通过命令行的方式调用CUDA,具体方式点击旁边的链接求求你点点我。但通过此方法无法调用函数库里面的函数。接下来详细介绍怎样通过命令行实现GPU上加速。

1.在文本文档或者sublime中写好代码
2在所在文件夹中按住Shift+鼠标右键+s,出现如下界面:
在这里插入图片描述
3.在所在界面中输入nvcc+文本文档名,然后回车即完成编译。
其中sg_gpu_fft为文件名
上图为详细的编译指令,其中sg_gpu_fft.cu为文件名。注意扩展名一定要改为.cu的形式。
4.使用nvcc指令成功后,将会自动生成如下文件:
在这里插入图片描述
5.然后同样的在Windows PowerShell界面输入如图指令:
在这里插入图片描述
6.最后编译结果将显示在此界面当中。

  • 1
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值