Title :
Improving software pipelining with unroll-and-jam
Author :
Carr, Steve ; Ding, Chen ; Sweany, Philip
Author_Institution :
Dept. of Comput. Sci., Michigan Technol. Univ., Houghton, MI, USA
Abstract :
To take advantage of recent architectural improvements in microprocessors, advanced compiler optimizations such as software pipelining have been developed. Unfortunately, not all loops have enough parallelism in the innermost loop body to take advantage of all of the resources a machine provides. Unroll-and-jam is a transformation that can be used to increase the amount of parallelism in the innermost loop body by making better use of resources and limiting the effects of recurrences. We demonstrate how unroll-and-jam can significantly improve the initiation interval in a software-pipelined loop. Improvements in the initiation interval of greater than 40% are common, while dramatic improvements of a factor of 5 are possible
Keywords :
optimising compilers; parallel programming; parallelising compilers; pipeline processing; program control structures; compiler optimizations; initiation interval; innermost loop body; microprocessors; software pipelining; software-pipelined loop; unroll-and-jam; Computer architecture; Computer industry; Computer science; Microprocessors; Optimizing compilers; Parallel processing; Pipeline processing; Programming environments; Rockets; Software performance;
Conference_Titel :
System Sciences, 1996., Proceedings of the Twenty-Ninth Hawaii International Conference on ,
Conference_Location :
Wailea, HI
Print_ISBN :
0-8186-7324-9
DOI :
10.1109/HICSS.1996.495462