[发明专利]一种基于GPU/CPU混合架构的流程序多粒度划分与调度方法有效
申请号: | 201510429763.2 | 申请日: | 2015-07-21 |
公开(公告)号: | CN104965761B | 公开(公告)日: | 2018-11-02 |
发明(设计)人: | 于俊清;陈文斌;何云峰;管涛;唐九飞 | 申请(专利权)人: | 华中科技大学 |
主分类号: | G06F9/48 | 分类号: | G06F9/48;G06F9/50 |
代理公司: | 华中科技大学专利中心 42201 | 代理人: | 廖盈春 |
地址: | 430074 湖北*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 gpu cpu 混合 架构 流程 粒度 划分 调度 方法 | ||
本发明公开了一种基于GPU/CPU混合架构的流程序多粒度划分与调度方法,包括:根据数据流程序各个任务的计算特点以及任务之间的数据通信量,将任务分配到合适的计算平台上;利用GPU端任务的并行性将其均衡分裂到各个GPU,以避免GPU间高额的通信开销;通过选择CPU核,将CPU端各任务均衡分配给各CPU核,以保证负载均衡并提高CPU核的利用率;采用多种数据存储结构和多种访问类型的方法,以提高内存的访问效率;通过生成目标模板类和压缩目标结点的个数,降低目标代码的冗余量。本发明在CPU与GPU平台上实现了负载均衡,提高了数据流程序的执行性能。
技术领域
本发明属于基于GPU/CPU混合架构系统平台技术领域,更具体地,涉及一种基于GPU/CPU混合架构的流程序多粒度划分与调度方法。
背景技术
CPU多核系统的出现大大提高了相关领域应用的执行效率,特别是在数字媒体处理和科学计算等计算密集型的应用领域。而图形处理单元(Graphic Processing Unit,以下简称GPU)系统结构的不断升级促进了GPU计算的发展,使之不仅能高效地进行计算机图形的计算,而且在大规模数据的并行计算方面也具有很大的优势。与CPU多核系统相比,GPU具有核心处理单元多、线程粒度细、浮点运算能力强等特点,更适合应用于并行计算领域。基于GPU的高效并行计算主要利用混合架构中CPU与GPU协作计算的模式。根据CPU串行计算和内存读取的优势以及GPU强大的浮点计算能力,在混合架构进行计算过程中,CPU负责控制主程序的流程和串行计算,准备GPU计算时所需的数据并将其传给GPU,利用GPU进行高效的并行计算。通过GPU与CPU的协作计算,充分利用各计算资源的优势,有效地提高了应用程序的执行性能。目前面向GPU计算的应用程序编写都是利用CPU与GPU协作计算的模式,例如OpenCL、CUDA等。GPU/CPU混合架构系统主要用来提高具有高度并行性,异构通信量小,并且不具有并行性的计算任务的工作量比较小等特点的应用的执行效率。多CPU和多GPU协作计算被应用在多个方面,例如交互式物理仿真、镜头边界检测、财务应用计算等。
数据流编程语言(Data Flow Programming Language,DFPL)是一种面向领域的编程语言(Domain Specific Language,DSL),数据流程序以数据驱动的方式执行,并将任务计算与数据通信分开,很好地暴露出应用程序在任务级和数据级的可并行性。编写数据流程序时,程序员只需根据相关领域实际问题自身的特点进行数据流程序的编写,简化了相关领域的应用程序编程。在多CPU和多GPU这种混合架构下,GPU与GPU间的数据通信开销远远大于各计算单元的计算开销,任务划分的目标是充分发挥CPU逻辑控制与串行计算的优势和GPU高性能计算的优势,将适合GPU计算的任务分配到可用的GPU平台上,适合CPU计算的任务分配到CPU平台上,保证负载均衡和GPU间的数据通信开销尽可能的小,同时使GPU计算与通信的重叠度尽可能的高,以提高应用程序的执行性能。常见的静态任务划分方法有:贪心划分方法、亲和性划分方法、循环分发划分方法、基于图划分工具Metis和K路图划分方法。贪心划分方法是每次选择计算量最小的任务进行分配,但其忽略了各个设备间的通信量。亲和性划分方法是每次选择数据依赖比较大的计算任务(actor)划分到同一个计算单元上,以达到通信开销减小的目的,但这样划分很容易导致actor扎堆,使某个计算单元上的负载过大,该划分方法常用于有较少数量计算单元的任务划分。循环分发划分方法是将actor逐个划分到各计算单元,该划分方法没有考虑actor的工作量和通信量,当同步数据流(Synchronous Data Flow,SDF)图中每个actor计算量都比较均衡的情况比较适用该方法。Metis划分方法的目标是在满足一定负载均衡的条件下,尽可能的减少actor间的通信量,但是由于Metis划分方法的局部最优性,使得各个设备间的边界节点和节点间的通信边并没有得到充分的减少。K路图划分方法保证了负载均衡,同时考虑到GPU与GPU间高额的通信开销,使最终的每个划分块都是一个连通图,降低了通信开销,但其对分配到CPU端的计算结点没有进行优化处理。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华中科技大学,未经华中科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510429763.2/2.html,转载请声明来源钻瓜专利网。