- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
GPU异构编程研究综述摘要近年来,异构系统硬件飞速发展。为了解决相应的编程和执行效率问题,GPU异构并行编程已被广泛使用和研究。本文从异构并行编程接口与编译/运行时支持系统的角度总结了异构并行编程模型最新的研究进展,简单介绍现在为异构架构和上层应用带来的技术挑战提供的相应的解决方案。最后结合目前的研究现状以及异构系统的发展,提出了对异构并行编程的未来发展方向的看法。关键词:异构系统,编程,上层应用,GPU一、绪论(一)前沿发展介绍近年来,处理器从单核转变到多核,芯片的并行计算能力得到增强,性能显著提高[1]。然而由于结构复杂,传统处理器遭遇了严重的功耗瓶颈,无法通过增加核数继续带来性能提升。在这样的背景下,出现了CPU 与一个或多个加速设备在片上或主板上相互连接组成的异构系统,以进一步增强计算能力:CPU 作为控制设备,负责复杂的控制、调度等工作;而加速设备则负责大规模的并行计算或专业领域的计算任务。加速设备通常在指令集、微结构、功能或计算能力等方面与CPU 有很大区别,GPU 是目前最为常见的加速设备之一。GPU 在片上集成了几十甚至上百个每指令耗能(energy per instruction简称EPI)较低的简单核,它不包含分支预测、乱序执行等耗费资源的模块,借助高度的并行性隐藏单个任务的延迟,达到远高于CPU 的计算吞吐量。除GPU 外,可重构硬件如(FPGA)也常作为加速设备。目前,异构系统已十分普遍,遍布于服务器、个人电脑、嵌入式终端中,异构系统通过高速互联相互连接可构成异构集群,而异构集群通过互联网络连接在一起可构成大规模的云服务环。在2013 年6 月发布的超级计算Top500 排名中,前10 名中有4 个采用了异构架构,其中,排名第一的天河2 号是由Intel 通用处理器与MIC(many integrated core)架构协处理器构成的异构集群。(二)硬件发展变化带来的问题在硬件异构设备与架构逐渐普遍化的同时,上层应用的需求也发生了巨大改变:大数据的出现,带来了大量高并发、低计算密度的应用[2];云计算的兴起,则带来了数量繁多的非传统服务[3]。这些应用不再单纯地追求处理速度,而是在同时处理大量数据以及在可忍受的时间内提供服务方面有更多诉求。这些诉求与CPU 对单个任务快速响应的特征并不一致,迫切需要微结构与CPU 不同的加速设备协助完成。异构系统的发展,伴随着新兴应用的需求,使原有的并行编程模型(例如OpenMP,Cilk 等)不再适用,直接推动了异构并行编程模型的研究。近几年来,研究人员进行了大量的工作,例如:2007 年,NVIDIA 提出的CUDA;2008 年,Khronos Group 提出的OpenCL;2011 年,PGI 等公司提出的OpenAcc;2008 年,Intel 提出的Merge;2010 年,IBM 提出的Lime;2012 年,微软提出的C++AMP等,都是面向异构系统的并行编程模型。二、异构并行编程模型概述(一)异构并行编程模型简介异构并行编程模型是异构系统与上层应用之间的桥梁,与传统并行编程模型一样,它的设计也需要考虑任务划分、任务映射、数据分布、同步、通信5 个关键因素[4]。然而在异构架构的背景下,这些关键因素的作用范围有所扩大或改变,因此,传统并行编程模型在异构系统中不再适用,需要进行异构并行编程模型的研究。同时,新兴应用也为异构并行编程模型提出了新的挑战。(二)异构并行编程模型面临的技术挑战异构并行编程模型的一个重要任务是:为程序员提供一个合理的硬件平台抽象,使其在编程时既可以充分利用丰富的异构资源、又不必考虑复杂的硬件细节。然而,异构系统与传统的同构系统相比,在设备内部微结构、设备间互联架构两方面都更加复杂化和多样化,这使得异构并行编程模型在建立平台抽象方面遇到了巨大的困难,在任务划分、任务映射、数据分布、同步、通信等方面都面临着新的技术挑战。任务划分与任务映射面临的新问题:异构系统中设备之间并行计算能力不同。同构系统中的计算设备为完全相同的多核CPU,尽管同一CPU 不同核之间、同一核内的SIMD 部件等可承担粒度不同的并行计算任务,但是不同设备具有相同的微结构,其并行计算能力是完全相同的。而在异构系统中,不同设备(如CPU GPU,FPGA)的微结构具有本质差异,其并行计算模式与并行计算能力完全不同,设备的特长也完全不同,这种设备间并行计算能力的差异,使得任务映射与任务划分不再是均一的,而是具有显著特异性的,这也更利于表达实际应用的特点。数据分布与通信面临的新问题:异构系统中加速设备内数据分布可配置、设备间数据通信渠道多样。从编程模型的角度看,同构系统中,CPU 片内存储是软件透明的cache 结构,片外存储则遵从共享内存模型,除访问延迟可能不同(例如N
您可能关注的文档
最近下载
- 山东省泰安市2025届高三四模检测(泰安四模)英语试题及答案.docx VIP
- 2024-2025学年深圳中学初中部七年级入学分班考试数学试卷附答案解析.pdf
- GB50424-2015 油气输送管道穿越工程施工规范.docx VIP
- (2025秋新版)人教版三年级数学上册全册教案.docx
- 采矿工程毕业设计论文-麦地掌煤矿150万吨矿井初步设计.doc VIP
- 德隆煤矿90万吨初步设计.doc VIP
- 2025年山东黄金集团井下技能工人招聘(2000人)考试备考题库及答案解析.docx VIP
- 直肠癌手术编码.pptx VIP
- 2025秋统编版(2024)道德与法治一年级上册教学设计(全册) .pdf
- Unlock2 Unit4 第一篇听力讲解及答案.pptx VIP
文档评论(0)