面向可重构阵列任务编译的循环变换技术研究
作者单位:上海交通大学
学位级别:硕士
导师姓名:付宇卓;何卫锋
授予年度:2011年
学科分类:08[工学] 0835[工学-软件工程] 081202[工学-计算机软件与理论] 0812[工学-计算机科学与技术(可授工学、理学学位)]
摘 要:近年来,结合了通用处理器的灵活性和专用集成电路的高效性优点的可重构计算技术获得了广泛深入的研究,它具有灵活高效的结构,非常适合多媒体运算和信号处理等计算密集型任务的处理。但是,目前可重构计算领域缺乏高效的自动任务编译工具,尤其是对应用中循环代码的处理是个难题。与手工映射相比,高效的任务编译工具可以有效节约映射的时间和提高映射的效率。本文即以循环变换技术为重点,研究将循环代码高效地映射到可重构阵列上的创新技术,并开发相应的自动化高效任务编译工具。 本文改进了现有程序剖析(profiling)工具来进行循环的剖析,收集循环执行的信息以用于循环的分析和优化。可重构阵列具有计算单元多、无访存功能等特点,本文结合传统的并行编译优化技术,研究了循环展开等技术在任务编译器中的实施条件和方法,从而解决了现有编译工具很难高效利用可重构部分硬件资源的缺点,并采用了标量替换技术将循环中的访存操作进行集中预取或写回,从而支持可重构阵列无访存功能这一特点。本文改进了现有的高级语言循环数据流图的生成方法,使用数据流分析技术分析并消除数据流图中冗余的节点。 本文将这些循环变换和编译方法实现到任务编译器RCAcompiler中,并对典型的多媒体处理算法和数字信号处理算法进行实验,实验数据显示采用本文的优化方法后循环数据流图中的节点平均减少了30%,编译后目标代码运算性能平均提高了2.4倍。本文方法能够有效地提高任务编译器对循环编译的并行性,提高了任务编译器的性能。