The PI proposes a novel approach for software pipelining multi-dimensional loops, called SSP (Single-dimensional Software Pipelining). SSP provides a unique framework where software pipelining can be applied at any desirable loop level.
Intellectual Merit. This research builds on the established collaboration and combined expertise of the PIs in software pipelining, register allocation, compiler optimization, architecture design, and experimental evaluation. The foreseen contribution to the society is a novel compiler framework for achieving the available parallelism in loop nests as well as for providing opportunities for exploring other objectives in compilation. The main contributions of this research will be the following: * Development of the initial SSP methodology into a comprehensive framework for optimizing multi- dimensional loops able to effectively handle general forms of loop nests. * Development of register allocation techniques for multidimensional loops that are integrated with SSP. * Implementation and experimental evaluation of SSP, the register allocator, and modified loop trans- formation phases with experimental evaluation of such properties as performance, code size, and compilation time. * Investigation of SSP and its relation to and interaction with high-level loop transformations, as well as comparison with approaches that combine loop nest transformation and traditional software pipelining.
Broader Impact. *The developed framework provides opportunities for exploring other optimization objectives and implementation issues, targeted to specific architectures * Basis for exploring SSP for architectures such as multithreading cellular architectures, and streaming applications. * The PIs plan to organize an annual combined CIS and ECE undergraduate poster forum which will include the participating undergraduates and contain a strong mentoring component. *Small experimental study components of this research will be developed to be used as research projects in graduate compiler courses in both CIS and ECE. *Since a robust, open source infrastructure is being used in trhis work, the resulting compiler with our techniques is highly available and easily disseminated to large groups.