Loop unrolling optimization for software pipelining
-
摘要: 在软件流水中应用循环展开可以实现分数值的启动间距,提高资源的利用率,同时基于展开的优化技术可以降低程序的资源需求和关键路径的长度.提出了基于程序特性的展开因子算法UTBPC(Unrolling Times Based Program Characteristics),解决了循环展开的核心问题——展开因子的确定,同时提出了基于展开的软件数据预取优化技术,提高了软件数据预取的效率.所有这些都在ORC(Open Research Compiler)中实现,并对SPEC 2000中的程序进行了测试,平均性能提高了2.6%.实验结果表明新提出的算法和基于展开的数据预取优化技术提高了编译器的整体性能.Abstract: Loop unrolling can m ake software pipelining achieve fractional initiation interval and improve resou rce utilization. Optimizations based on unrolling can reduce resource requiremen ts and the heights of critical paths. An algorithm named UTBPC(unrolling times based program characteristics) for determining unrolling factors and unrol ling b ased optimization for software data prefetching were proposed. These optimizatio ns were implemented in ORC(open research compiler), and SPEC CPU2000 benchmarks were tested in Itanium processor. The average perf ormance was improv ed by 2.6%. The results show that UTBPC algorithm and unrolling base d optimization for software data prefetching can improve the overall performance of compilers.
-
Key words:
- software /
- software pipelining /
- loop unrolling /
- unrolli ng times /
- data prefetching
-
[1] Allen V H, Jones R B, Lee R M, et al. Software pipelining [J]. ACM Computing Surveys, 1995,27(3):367~432 [2]Weiss S, Smith J E. A study of scalar compilation techniques for pipelined supercomputers[J]. ACM Transactions on Mathematical Software, 1990, 16(3):223~245 [3]Rau B R. Iterative modulo scheduling . HPL-94-115, 1994 [4]Mowry T C, Lam M S, Gupta A. Design and evaluation of a compiler algorithm for prefetching . In:Proceeding of the Fifth International Conference on Architectural Support for Programming Languages and Operating Systems . Massachusetts:ACM Press, 1992. 62~73 [5]Roy J, Sun C, Wu C Y. Open research compiler for itanium processor famil y(IPF) . In:MICRO-34 Tutorial . Texas:ACM Press, 2001 [6]Intel Corporation. Intel IA-64 architecture software developer’s manual. Volume 3:Instruction set reference [M]. Intel Corp, 2000 [7]Intel Corporation. Intel IA-64 architecture software developer’s manual. Volume 1:IA-64 application architecture [M]. Intel Corp, 2000 [8]Sanchez F, Cortadella J,Badia R M. Optimal exploration of the unrolling degree for software pipelining . UPC-DAC-1996-41, 1996 [9]Vivek Sarkar. Optimized unrolling of nested loops . In:Proceedings of the 14th International Conference on Supercomputing . New Mexico:ACM Press, 2000. 153~166
点击查看大图
计量
- 文章访问数: 3252
- HTML全文浏览量: 110
- PDF下载量: 2663
- 被引次数: 0