众核多计算模式系统构建

众核多计算模式系统构建

ID:5987670

大小:33.00 KB

页数:10页

时间:2017-12-30

众核多计算模式系统构建_第1页
众核多计算模式系统构建_第2页
众核多计算模式系统构建_第3页
众核多计算模式系统构建_第4页
众核多计算模式系统构建_第5页
资源描述:

《众核多计算模式系统构建》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、众核多计算模式系统构建  摘要:复杂应用领域中的一些具体计算任务不仅需要计算平台具备高效的计算能力,而且也应具有与计算任务特点相匹配的计算模式。依据NVIDIAKeplerGK110架构中Hyper?Q特性与CUDA流的关系,提出单任务并行、多任务并行与多任务流式计算三种计算模式。采用空位标记的方法对计算模式进行构建与切换,结合数据缓冲机制和计算任务加载方式,设计了众核多计算模式处理系统,实现了众核处理机多模式计算的功能。关键词:众核处理机;KeplerGK110;计算模式;CUDA流中图分类号:TN911?34;TP302文献标识码:A文章编号:1004?373X(20

2、13)22?0001?040引言在航空航天、医疗服务、地质勘探等复杂应用领域,需要处理的数据量急剧增大,需要高性能的实时计算能力提供支撑。与多核处理器相比,众核处理器计算资源密度更高、片上通信开销显著降低、性能/功耗比明显提高,可为实时系统提供强大的计算能力。10在复杂应用领域当中,不同应用场景对计算的需求可能不同。例如,移动机器人在作业时,可能需要同时执行路径规划、目标识别等多个任务,这些任务需要同时执行;在对遥感图像处理时,需要对图像数据进行配准、融合、重构、特征提取等多个步骤,这些步骤间既需要同时执行,又存在前驱后继的关系。因此,基于众核处理器进行计算模式的动态构造

3、,以适应不同的应用场景和应用任务成为一种新的研究方向。文献[1]研究了具有逻辑核构造能力的众核处理器体系结构,其基本思想是基于多个细粒度处理器核构建成粗粒度逻辑核,将不断增加的处理器核转化为单线程串行应用的性能提升。文献[2]提出并验证了一种基于类数据流驱动模型的可重构众核处理器结构,实现了逻辑核处理器的运行时可重构机制。文献[3]提出了一种支持核资源动态分组的自适应调度算法,通过对任务簇的拆分与合并,动态构建可弹性分区的核逻辑组,实现核资源的隔离优化访问。GPGPU(General?PurposeComputingonGraphicsProcessingUnits)作为

4、一种典型的众核处理器,有关研究多面向单任务并发执行[4?5]方面的优化以及应用算法[6?8]的加速。本文以GPGPU为平台,通过研究和设计,构建了单任务并行、多任务并行和多任务流式处理的多计算模式处理系统。1众核处理机1.1众核处理机结构10众核处理机是基于众核控制单元(MPU)与众核处理器(GPGPU)相结合的主、协处理方式构建而成,其逻辑结构如图1所示。众核处理机由众核控制单元和众核计算单元两部分组成,其中众核控制单元采用X86结构的MPU,与众核计算单元之间通过PCI?E总线进行互连。1.2CUDA流与Hyper?Q在统一计算设备架构(ComputeUnifiedD

5、eviceArchitecture,CUDA)编程模型中,CUDA流(CUDAStream)表示GPU的一个操作队列,通过CUDA流来管理任务和并行[9]。CUDA流的使用分为两种:一种是CUDA在创建上下文时会隐式地创建一个CUDA流,从而命令可以在设备中排队等待执行;另一种是在编程时,在执行配置中显式地指定CUDA流。不管以何种方式使用CUDA流,所有的操作在CUDA流中都是按照先后顺序排队执行,然后每个操作按其进入队列的顺序离开队列。换言之,队列充当了一个FIFO(先入先出)缓冲区,操作按照它们在设备中的出现顺序离开队列。在GPU中,有一个CUDA工作调度器(CUD

6、AWork10Distributor,CWD)的硬件单元,专门负责将计算工作分发到不同的流处理器中。在Fermi架构[10]中,虽然支持16个内核的同时启动,但由于只有一个硬件工作队列用来连接主机端CPU和设备端GPU,造成并发的多个CUDA流中的任务在执行时必须复用同一硬件工作队列,产生了虚假的流内依赖关系,必须等待同一CUDA流中相互依赖的kernel执行结束,另一CUDA流中的kernel才能开始执行。而在KeplerGK110架构[11]中,新具有的Hyper?Q特性消除了只有单一硬件工作队列的限制,增加了硬件工作队列的数量,因此,在CUDA流的数目不超过硬件工作

7、队列数目的前提下,允许每个CUDA流独占一个硬件工作队列,CUDA流内的操作不再阻塞其他CUDA流的操作,多个CUDA流能够并行执行。如图2所示,当利用Hyper?Q和CUDA流一起工作时,虚线上方显示为Fermi模式,流1、流2、流3复用一个硬件工作队列,而虚线下方为KeplerHyper?Q模式,允许每个流使用单独的硬件工作队列同时执行。2众核多计算模式处理框架为了充分发挥众核处理器的计算能力,众核处理系统面对不同的计算任务的特点,可构建三种计算模式,即单任务并行计算、多任务并行计算、多任务流式计算。2.1众核多计算模式处

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。