DocumentCode
296676
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
Volume
1
fYear
1996
fDate
3-6 Jan 1996
Firstpage
183
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;
fLanguage
English
Publisher
ieee
Conference_Titel
System Sciences, 1996., Proceedings of the Twenty-Ninth Hawaii International Conference on ,
Conference_Location
Wailea, HI
Print_ISBN
0-8186-7324-9
Type
conf
DOI
10.1109/HICSS.1996.495462
Filename
495462
Link To Document