当前位置: 首页 > 专利查询>清华大学专利>正文

可重构计算循环映射优化方法技术

技术编号:15095421 阅读:89 留言:0更新日期:2017-04-07 22:44
本发明专利技术公开了一种可重构计算循环映射优化方法,包括步骤:建立内外层循环模型,根据模型确定最优内层迭代时间间隔和最优外层迭代时间间隔;根据最优内层迭代时间间隔得到内层流水,以及根据最优外层迭代时间间隔得到外层流水核心;将外层流水核心分割为第一预设数量的段落,抽取每个段落的重复单元压缩为第二预设数量的拷贝;对每个重复单元,根据REGIMap算法,构建原始兼容图并进行压缩,在压缩后的兼容图中搜索大小等同于需要生成配置信息的算子数量的最大团。本发明专利技术具有如下优点:降低非完美多层嵌套循环在可重构计算阵列上的计算时间和配置信息量,从而提高了可重构处理器的性能;算法复杂度是多项式时间,满足实际的编译要求。

Reconfigurable computing cycle mapping optimization method

The invention discloses a reconfigurable computing cyclic mapping optimization method, which comprises the following steps: establishment of internal and external circulation model based on the optimal inner iteration time interval and time interval of the outer iteration optimal model to determine the optimal time interval; according to the inner iteration to get the inner flow and the outer iteration according to the optimal time interval are outer water core; the outer layer of water the core is divided into first preset number of paragraphs, each paragraph of the repeating unit extraction is compressed into second preset number of copies; for each repeat unit, according to the REGIMap algorithm, Gou Jianyuan was compatible with map and compression, after compression compatible search maximum clique size is the same as the number of operators need to generate the configuration information of the map. The invention has the following advantages: reducing the non perfect nested loops on reconfigurable computing time and computing array configuration information, thereby improving the performance of reconfigurable processors; the complexity of the algorithm is polynomial time, meet the actual requirements of the compiler.

【技术实现步骤摘要】

本专利技术涉及数据处理
,具体涉及一种可重构计算循环映射优化方法
技术介绍
可重构处理器是一类十分有发展潜力的并行计算架构,它融合了通用处理器(GPP)的灵活性和专用集成电路(ASIC)的高速性。从理论上,相对于通用处理器,可重构处理器可以取得10倍以上的性能提升。然而,只有将应用程序中的操作合理地调度并配置到可重构处理器的计算阵列上,才能保证可重构处理器正确、高效地完成任务。对于现实中的应用程序来说,循环的执行往往占据了大部分运行时间。循环的特点是不改变运算的结构,只改变运算的数据。对于可重构处理器上的计算阵列来说,一套配置重复执行,可以有效地降低配置的代价。循环的多次重复计算恰好符合可重构计算阵列的特点。对循环的执行进行优化,效果明显,也有很多规律可以利用。因此,我们要提高可重构处理器的性能,重点应该放在对循环的处理上。对于单层循环而言,使用模调度策略的软件流水是一类常用的加速循环执行的方法。这种方法把循环的一次迭代内的算子(即应用程序中的最小执行单元)重新排列并且固定其位置,然后规定每次迭代启动后等待一个固定时间间隔(initialinterval,II)再启动下一个迭代。这样得到的迭代与迭代之间有规律地重叠形成的最小重复单元,也就是重组后的循环体,称为流水核心(kernel)。然后只要对kernel中的算子进行布局布线(placementandrouting,P&R),把每个算子映射到时域扩展后的可重构计算阵列上,安排算子在计算阵列上执行的位置,并且决定各个数据传输的路径,进而生成配置信息。有了配置信息,就可以引导可重构计算阵列每II个控制步执行一轮kernel内的所有操作。一般II越小越好,因为越小的II代表着迭代之间更大程度的重叠执行,也就意味着单层循环执行的总时间更短。但是受到数据依赖和计算资源数量的限制,II总是有一个下界。大多数方法会从II的下界开始尝试P&R,每当P&R失败,也就是无法形成合法映射,就逐步增大II继续尝试,直到成功。这样得到的最终配置信息就是最优的或者近似最优的。在处理多层嵌套循环的场合,我们也可以按照单层循环的方式去处理,寻求最内层迭代的最大并行。但是很多情况下,这么做并不能取得最好的效果。因为最小的最内层II只能代表最内层循环的迭代进行了最大限度地重叠,并不能代表整体取得了最大的并行度,也就无法充分利用硬件资源,因此达不到更好的性能。这就要求我们把挖掘并行度的视野从最内层扩展到外层,但是这比处理单层循环困难很多,因为诸如循环的变形、II的决定等,都在维度上发生了扩展,使得影响性能的因素更加复杂,搜索空间更加庞大,就必须要有更优的建模和搜索方式。如果要处理的多层循环是非完美的,也就是并非所有语句都出现在最内层的情况,映射及配置生成更是一个棘手的问题。虽然可以通过循环分离(fission)把部分非完美循环分裂成多个完美循环来处理,但是遇到不同语句间有来回依赖的情况,循环分离就不合法了。如果我们仍然希望挖掘多层并行性,除了要面对多个II如何确定的问题以外,如何压缩过大的配置信息也是一个难点,因为非完美循环内部组成的复杂性会导致当内层迭代次数较大时形成的kernel行数十分庞大。从已有的文献来看,目前主流的方法大都是进行单层流水,对于非完美的多层嵌套循环,最多也仅仅做到了隐藏单独语句、合并两次内层流水的排空和装载阶段的程度,并没有积极地重叠外层迭代。尤其是对于含有并列子循环的非完美嵌套循环,没有现成的方法能够有效地挖掘外层并行性。
技术实现思路
本专利技术旨在至少解决上述技术问题之一。为此,本专利技术的一个目的在于提出一种可重构计算循环映射优化方法。为了实现上述目的,本专利技术的实施例公开了一种可重构计算循环映射优化方法,包括以下步骤:S1:建立内外层循环模型,根据所述内外层循环模型确定最优内层迭代时间间隔和最优外层迭代时间间隔;S2:根据所述最优内层迭代时间间隔得到内层流水,以及根据所述最优外层迭代时间间隔得到外层流水核心;S3:将所述外层流水核心分割为第一预设数量的段落,抽取每个段落的重复单元,将每个所述重复单元压缩为第二预设数量的拷贝;S4:对每个重复单元,根据REGIMap算法,构建原始兼容图,对所述原始兼容图进行压缩,在压缩后的兼容图中搜索大小等同于需要生成配置信息的算子数量的最大团。根据本专利技术实施例的可重构计算循环映射优化方法,通过多层软流水和核心压缩的优化方法,来降低非完美多层嵌套循环在可重构计算阵列上的计算时间和配置信息量,从而提高了可重构处理器的性能;算法复杂度是多项式时间,满足实际的编译要求。另外,根据本专利技术上述实施例的可重构计算循环映射优化方法,还可以具有如下附加的技术特征:进一步地,步骤S1进一步包括:S101:建立所述内外层循环模型:minLo=∑{Ldx本文档来自技高网
...

【技术保护点】
一种可重构计算循环映射优化方法,其特征在于,包括以下步骤:S1:建立内外层循环模型,根据所述内外层循环模型确定最优内层迭代时间间隔和最优外层迭代时间间隔;S2:根据所述最优内层迭代时间间隔得到内层流水,以及根据所述最优外层迭代时间间隔得到外层流水核心;S3:将所述外层流水核心分割为第一预设数量的段落,抽取每个段落的重复单元,将每个所述重复单元压缩为第二预设数量的拷贝;S4:对每个重复单元,根据REGIMap算法,构建原始兼容图,对所述原始兼容图进行压缩,在压缩后的兼容图中搜索大小等同于需要生成配置信息的算子数量的最大团。

【技术特征摘要】
1.一种可重构计算循环映射优化方法,其特征在于,包括以下步骤:
S1:建立内外层循环模型,根据所述内外层循环模型确定最优内层迭代时
间间隔和最优外层迭代时间间隔;
S2:根据所述最优内层迭代时间间隔得到内层流水,以及根据所述最优外
层迭代时间间隔得到外层流水核心;
S3:将所述外层流水核心分割为第一预设数量的段落,抽取每个段落的重
复单元,将每个所...

【专利技术属性】
技术研发人员:尹首一林鑫瀚刘雷波魏少军
申请(专利权)人:清华大学
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1