[发明专利]一种基于MIC架构处理器的并行度优化方法在审
申请号: | 201811301383.0 | 申请日: | 2018-11-02 |
公开(公告)号: | CN109597622A | 公开(公告)日: | 2019-04-09 |
发明(设计)人: | 王卓薇;陈娟;程良伦 | 申请(专利权)人: | 广东工业大学 |
主分类号: | G06F8/41 | 分类号: | G06F8/41 |
代理公司: | 广州粤高专利商标代理有限公司 44102 | 代理人: | 林丽明 |
地址: | 510006 广东省*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 并行 并行度 架构处理器 应用程序 循环迭代 优化 线程 并行性分析 并行线程 程序执行 函数方式 开发周期 软件开发 协处理器 整体计算 粗粒度 细粒度 层级 迭代 封装 进程 开发 | ||
本发明提供了一种基于MIC(众核协处理器)架构处理器的并行度优化方法,涉及了并行线程/进程数目、并行层级、并行粒度等方面,具体内容包括:首先对应用程序进行热点并行性分析,根据循环迭代判断并行粒度,如果迭代次数较低,采用MPI级别粗粒度并行;对循环迭代使用封装的并行方案和使用线程库写线程函数方式进行细粒度并行。本发明用于MIC架构处理器平台的并行度优化,指导软件开发人员以较短开发周期,较低开发成本,快速对应用程序的热点进行并行度优化,缩短了程序执行时间,提高了应用程序的整体计算效率。
技术领域
本发明涉及处理器架构领域,更具体地,涉及一种基于MIC架构处理器的并行度优化方法。
背景技术
在计算机体系结构中,并行度是指指令并行执行的最大条数。在设计并行程序时,我们可以简单地把并行度认为是在多核/众核处理器上能同时执行的线程数/进程数。现有的并行设计方法在计算效率上任然没有较大的提升,这也造成了现有的并行度设计方法很难有效提升程序的性能。
发明内容
本发明为克服上述现有技术所述的至少一种缺陷,提供一种基于MIC架构处理器的并行度优化方法。
本发明旨在至少在一定程度上解决上述技术问题。
本发明的目的是指导软件开发人员已较短开发周期,较低开发成本,快速对应用程序的热点进行并行度优化,缩短了程序执行时间,提高了应用程序的整体计算效率。
为解决上述技术问题,本发明的技术方案如下:一种基于MIC架构处理器的并行度优化方法,包括以下步骤:
S1:热点判断,确定函数占用的热点;
S2:根据函数占用的热点比例判断是否有移植的可行性;
S3:判断程序是否有并行化的空间;
S4:分析循环迭代体;
S5:选择并行方式。
优选地,所述S1热点判断,确定函数占用的热点是采用自顶向下的方法找到热点。
优选地,所述S2中根据函数占用的热点比例判断是否有移植的可行性的具体步骤为:
S21:查看主函数调用的子函数,确定该子函数的时间占用是否占总运行时间的比例;
S22:如果子函数的运行时间时间占总运行时间的比例高于40%,则该子函数可以并行;
S23:如果可以并行调用,则对其进行并行移植,如果不能并行,则查看该子函数调用的子函数能否被并行调用,直到最底层函数。
优选地,所述S3中判断函数并行化空间具体为:如果程序中有循环,则可并行化。
优选地,所述S4中分析循环迭代体包括:循环迭代次数、代体运行时间、迭代与迭代之间是否有数据依赖。
优选地,所述S5中选取并行方式具体为:如果迭代次数较低,每个迭代代码比较复杂,迭代之间没有或只有很少的数据交换,则选择粗粒度并行;如果并发度高,占用资源相对较少,单线程工作量相对较小,代码段比较独立,与其他部分数据交换少则选择细粒度并行。
优选的,本方法执行在MIC架构的处理器上,并且使用的编译器是支持MIC架构及其指令集的任意编译器。
与现有技术相比,本发明技术方案的有益效果是:本发明只对较大的热点进行分析,而放弃较小的热点,避免造成移植成本太高,造成的经济上的损失;并且对迭代次数较低,迭代代码比较复杂,迭代之间没有或只有很少的数据交换的代码选择粗粒度并行,对并发度高,占用资源相对较少,单线程工作量相对较小,代码段比较独立与其他部分数据交换少的代码选择细粒度并行,这样可以有效地分配计算资源,从而提高了应用程序的整体计算效率。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于广东工业大学,未经广东工业大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811301383.0/2.html,转载请声明来源钻瓜专利网。