Rotation scheduling: a loop pipelining algorithm

We consider the resource-constrained scheduling of loops with interiteration dependencies. A loop is modeled as a data flow graph (DFG), where edges are labeled with the number of iterations between dependencies. We design a novel and flexible technique, called rotation scheduling, for scheduling cyclic DFGs using loop pipelining. The rotation technique repeatedly transforms a schedule to a more compact schedule. We provide a theoretical basis for the operations based on retiming. We propose two heuristics to perform rotation scheduling and give experimental results showing that they have very good performance.

[1]  Alexandru Nicolau,et al.  Incremental tree height reduction for high level synthesis , 1991, 28th ACM/IEEE Design Automation Conference.

[2]  Edwin Hsing-Mean Sha,et al.  Retiming and Unfolding Data-Flow Graphs , 1992, ICPP.

[3]  Miodrag Potkonjak,et al.  Optimizing resource utilization using transformations , 1994, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[4]  Edwin Hsing-Mean Sha,et al.  Scheduling Data-Flow Graphs via Retiming and Unfolding , 1997, IEEE Trans. Parallel Distributed Syst..

[5]  Alexandru Nicolau,et al.  Percolation Scheduling: A Parallel Compilation Technique , 1985 .

[6]  Pierre G. Paulin,et al.  Force-directed scheduling for the behavioral synthesis of ASICs , 1989, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[7]  Niraj K. Jha,et al.  Algorithm-based fault tolerance for FFT networks , 1992, [Proceedings] 1992 IEEE International Symposium on Circuits and Systems.

[8]  Markku Renfors,et al.  The maximum sampling rate of digital filters under hardware speed constraints , 1981 .

[9]  Liang-Fang Chao Optimizing cyclic data-flow graphs via associativity , 1994, Proceedings of 4th Great Lakes Symposium on VLSI.

[10]  Keshab K. Parhi,et al.  High level DSP synthesis using the MARS design system , 1992, [Proceedings] 1992 IEEE International Symposium on Circuits and Systems.

[11]  Jayesh Siddhiwala,et al.  Scheduling conditional data-flow graphs with resource sharing , 1995, Proceedings. Fifth Great Lakes Symposium on VLSI.

[12]  Daniel D. Gajski,et al.  An effective methodology for functional pipelining , 1992, 1992 IEEE/ACM International Conference on Computer-Aided Design.

[13]  Robert E. Tarjan,et al.  Data structures and network algorithms , 1983, CBMS-NSF regional conference series in applied mathematics.

[14]  Joos Vandewalle,et al.  Loop Optimization in Register-Transfer Scheduling for DSP-Systems , 1989, 26th ACM/IEEE Design Automation Conference.

[15]  Edwin Hsing-Mean Sha,et al.  Communication sensitive rotation scheduling , 1994, Proceedings 1994 IEEE International Conference on Computer Design: VLSI in Computers and Processors.

[16]  Edwin Hsing-Mean Sha,et al.  Static scheduling for synthesis of DSP algorithms on various models , 1995, J. VLSI Signal Process..

[17]  Toshio Nakatani,et al.  A new compilation technique for parallelizing loops with unpredictable branches on a VLIW architecture , 1990 .