@MISC{Hu_softwarepipeliner:, author = {Ping Hu and Christine Eisenbeis}, title = {Software Pipeliner: Parallelization of Loops}, year = {} }
Share
OpenURL
Abstract
Software pipelining, as an important parallel technique for loop structure, exploits the parallelism present among the iterations of a loop by overlapping the execution of successive iterations. This paper presents a practical and usable algorithm, Overlapping Modulo Scheduling(OMS), which is capable of modulo scheduling loops subjected to recurrence dependences and resource constraints for realistic machine models. The difficulty encountered when software pipelining loops with conditional branches is that arbitrary control flow complicates the construction of an overlapping schedule since there are multiple possible execution paths. To address this issue, we have extended the OMS algorithm to handle conditional branches by leveraging the individual benefits of complete and partial if-conversion. Keywords: Instruction level parallelism, VLIW processors, Software pipelining, Modulo scheduling, Optimization of loops This research was partially supported by the ESPRIT IV reac...