[发明专利]可重构计算循环映射优化方法有效
申请号: | 201610031827.8 | 申请日: | 2016-01-18 |
公开(公告)号: | CN105718245B | 公开(公告)日: | 2018-08-28 |
发明(设计)人: | 尹首一;林鑫瀚;刘雷波;魏少军 | 申请(专利权)人: | 清华大学 |
主分类号: | G06F9/38 | 分类号: | G06F9/38 |
代理公司: | 北京清亦华知识产权代理事务所(普通合伙) 11201 | 代理人: | 张大威 |
地址: | 100084 北京*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 可重构 计算 循环 映射 优化 方法 | ||
本发明公开了一种可重构计算循环映射优化方法,包括步骤:建立内外层循环模型,根据模型确定最优内层迭代时间间隔和最优外层迭代时间间隔;根据最优内层迭代时间间隔得到内层流水,以及根据最优外层迭代时间间隔得到外层流水核心;将外层流水核心分割为第一预设数量的段落,抽取每个段落的重复单元压缩为第二预设数量的拷贝;对每个重复单元,根据REGIMap算法,构建原始兼容图并进行压缩,在压缩后的兼容图中搜索大小等同于需要生成配置信息的算子数量的最大团。本发明具有如下优点:降低非完美多层嵌套循环在可重构计算阵列上的计算时间和配置信息量,从而提高了可重构处理器的性能;算法复杂度是多项式时间,满足实际的编译要求。
技术领域
本发明涉及数据处理技术领域,具体涉及一种可重构计算循环映射优化方法。
背景技术
可重构处理器是一类十分有发展潜力的并行计算架构,它融合了通用处理器(GPP)的灵活性和专用集成电路(ASIC)的高速性。从理论上,相对于通用处理器,可重构处理器可以取得10倍以上的性能提升。然而,只有将应用程序中的操作合理地调度并配置到可重构处理器的计算阵列上,才能保证可重构处理器正确、高效地完成任务。
对于现实中的应用程序来说,循环的执行往往占据了大部分运行时间。循环的特点是不改变运算的结构,只改变运算的数据。对于可重构处理器上的计算阵列来说,一套配置重复执行,可以有效地降低配置的代价。循环的多次重复计算恰好符合可重构计算阵列的特点。对循环的执行进行优化,效果明显,也有很多规律可以利用。因此,我们要提高可重构处理器的性能,重点应该放在对循环的处理上。
对于单层循环而言,使用模调度策略的软件流水是一类常用的加速循环执行的方法。这种方法把循环的一次迭代内的算子(即应用程序中的最小执行单元)重新排列并且固定其位置,然后规定每次迭代启动后等待一个固定时间间隔(initial interval,II)再启动下一个迭代。这样得到的迭代与迭代之间有规律地重叠形成的最小重复单元,也就是重组后的循环体,称为流水核心(kernel)。然后只要对kernel中的算子进行布局布线(placement and routing,P&R),把每个算子映射到时域扩展后的可重构计算阵列上,安排算子在计算阵列上执行的位置,并且决定各个数据传输的路径,进而生成配置信息。有了配置信息,就可以引导可重构计算阵列每II个控制步执行一轮kernel内的所有操作。一般II越小越好,因为越小的II代表着迭代之间更大程度的重叠执行,也就意味着单层循环执行的总时间更短。但是受到数据依赖和计算资源数量的限制,II总是有一个下界。大多数方法会从II的下界开始尝试P&R,每当P&R失败,也就是无法形成合法映射,就逐步增大II继续尝试,直到成功。这样得到的最终配置信息就是最优的或者近似最优的。
在处理多层嵌套循环的场合,我们也可以按照单层循环的方式去处理,寻求最内层迭代的最大并行。但是很多情况下,这么做并不能取得最好的效果。因为最小的最内层II只能代表最内层循环的迭代进行了最大限度地重叠,并不能代表整体取得了最大的并行度,也就无法充分利用硬件资源,因此达不到更好的性能。这就要求我们把挖掘并行度的视野从最内层扩展到外层,但是这比处理单层循环困难很多,因为诸如循环的变形、II的决定等,都在维度上发生了扩展,使得影响性能的因素更加复杂,搜索空间更加庞大,就必须要有更优的建模和搜索方式。
如果要处理的多层循环是非完美的,也就是并非所有语句都出现在最内层的情况,映射及配置生成更是一个棘手的问题。虽然可以通过循环分离(fission)把部分非完美循环分裂成多个完美循环来处理,但是遇到不同语句间有来回依赖的情况,循环分离就不合法了。如果我们仍然希望挖掘多层并行性,除了要面对多个II如何确定的问题以外,如何压缩过大的配置信息也是一个难点,因为非完美循环内部组成的复杂性会导致当内层迭代次数较大时形成的kernel行数十分庞大。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于清华大学,未经清华大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201610031827.8/2.html,转载请声明来源钻瓜专利网。
- 上一篇:在电子设备中管理应用程序包的方法
- 下一篇:动态内容显示的方法和装置