Improving software pipelining with unroll-and-jam

Document Type

Conference Proceeding

Publication Date

1-1-1996

Abstract

© 1996 IEEE To take advantage of recent architecturalimprove-ments in microprocessors, advanced compiler optimizations such as software pipelining have been developed [1, 2, 3, 4]. 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 [5, 6]. In this paper, 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.

Publication Title

Proceedings of the Annual Hawaii International Conference on System Sciences

Share

COinS