论文部分内容阅读
粗粒度可重构处理器(Coarse-grained Reconfigurable Architecture,CGRA)作为一种新的高性能计算结构,兼具通用计算与专用计算的优势,在编程灵活性和计算能效上具有较好的折中。CGRA的性能优势主要依靠较为先进的编译器将计算密集型应用映射到丰富的并行计算资源上,而编译器中的任务映射策略决定了应用的执行性能。因此,任务映射技术的研究一直以来都是可重构计算领域的热点,受到众多学者的关注。随着可重构领域的不断发展,任务映射取得很多成果,但依然存在以下问题:(1)映射过程中,任务划分后子任务内的操作算子并行能力不足;(2)循环映射中欠缺考虑数据访存冲突问题;(3)不完美嵌套循环整体映射性能较差。针对上述问题,本课题从CGRA高效并行计算结构的特点出发,将应用任务抽象成数据流图,考虑数据依赖和硬件资源等约束,从以高并行度为主的多目标任务划分、避免数据访存冲突的循环映射和提高整体映射性能的不完美嵌套循环优化三个方面构建问题模型,并设计优化算法求解。最终提高任务映射性能,降低应用在CGRA上的总体执行时间。具体地,其主要创新工作如下:1.针对映射过程中,任务划分后子任务内的操作算子并行能力不足的问题,提出一种基于并行度最大化的多目标任务划分算法。该算法采用广度优先的搜索方式,在合理利用硬件资源和不增加子任务间通信开销的策略下,最大化子任务内的操作算子并行度。仿真结果表明,该算法降低各子任务的执行延迟总和,同时还实现降低配置开销和通信开销的多目标。2.针对CGRA循环映射中数据访存冲突导致映射性能不高的问题,提出一种联合优化模型,该模型针对多存储体结构的CGRA将访存冲突考虑到循环映射问题中,并构建路由开销函数选择路由方式。根据该联合优化模型设计了相应的算法,算法利用细粒度存储划分提高数据存取的并行性,并引入路径重用策略优化路由资源。实验表明,该方法可以有效避免访存冲突,提高循环映射的性能。3.针对CGRA不完美嵌套循环整体映射性能较差的问题,提出一种操作级别仿射变换与多流水相结合的不完美循环映射优化模型。该模型提出操作级别的仿射变换对不完美循环进行预处理,通过多流水方法将内层和外层迭代同时流水。设计的算法利用资源约束和最小化总体执行延迟来引导搜索空间,降低模型求解难度。实验结果表明,该模型可以有效提高不完美嵌套循环的整体映射性能。