论文部分内容阅读
可重构处理器同时具有通用处理器的高灵活性和专用集成电路的高能量效率。根据阵列互连形式的不同,可重构处理器主要分为一维互连可重构处理器和二维互连可重构处理器。计算密集型应用经常被映射到可重构处理器上面进行加速。这些计算密集型应用中,程序的大部分的执行时间都集中在少量的循环代码处。因此,可重构处理器上循环映射优化对于提升计算密集型应用的执行性能具有重要意义。由于可重构处理器上特殊的硬件结构以及循环程序中语句复杂的依赖关系,可重构处理器上的循环映射也存在着挑战。为了提高循环在可重构处理器上的执行性能,本论文针对两类典型的可重构处理器(一维互连可重构处理器和二维互连可重构处理器)分别提出了两类基于多面体模型的循环映射方法。论文主要从两个大的方面来优化可重构处理器上的循环映射,分别是面向一维互连可重构处理器的循环空间映射方法和面向二维互连可重构处理器的循环时域映射方法。在循环空间映射方法中,我们通过对影响可重构处理器执行性能的关键因素的分析和多面体模型理论,建立了一个能够综合反映可重构处理器执行特点并包含循环变换参数的性能模型。进一步地,我们建立了一个面向可重构处理器的循环空间映射的优化问题,并设计了启发式算法来进行求解。经过实验验证,本文的循环空间映射方法相比于目前最好的空间映射方法在性能上有42%的提升。在循环时域映射方法中,我们分别提出了基于迭代级仿射变换的循环流水优化方法和基于算子级仿射变换的循环流水优化方法。前一种方法中,我们提出来迭代级仿射变换和流水线融合的方法来提升循环的软件流水性能。后一种方法中,我们提出的算子级仿射变换不仅能够挖掘各个层次的并行性,还能精确地反映依赖长度从而更好地优化数据传递方式。经过实验验证,时域映射的这两个方法相比于现有最好的时域映射方法在性能上分别有71%和96%的提升。通过以上两大类方法的优化,我们建立一套完善的面向可重构处理器上各类循环映射的编译流程。最终,论文的工作很好地提高了循环在可重构处理器上的执行性能。