|
ABSTRACT
Although software pipelining has been proposed as one of the most important loop scheduling methods, simultaneous scheduling and register allocation is less understood and remains an open problem [28]. The objective of this paper is to develop a unified algorithmic framework for concurrent scheduling and register allocation to support time-optimal software pipelining. A key intuition leading to this surprisingly simple formulation and its efficient solution is the association of maximum computation rate of a program graph with its critical cycles due to Reiter's pioneering work on Karp-Miller computation graphs [29]. In particular, our method generalizes the work by Callahan, Carr and Kennedy on scalar expansion[6], the work by Lam on modular variable expansion for software pipelined loops [20], and the work by Rau et al. on register allocation for modulo scheduled loops[28].
REFERENCES
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
| |
1
|
Alfred V. Aho , Ravi Sethi , Jeffrey D. Ullman, Compilers: principles, techniques, and tools, Addison-Wesley Longman Publishing Co., Inc., Boston, MA, 1986
|
| |
2
|
|
 |
3
|
|
| |
4
|
A. Aiken and A. Nicolau. A realistic resourceconstrained software pipelining algorithm. In Proceedings of the Third Workshop on Programming Languages and Compilers for Parallel Computing, Irvine, CA, August 1990.
|
 |
5
|
David G. Bradlee , Susan J. Eggers , Robert R. Henry, Integrating register allocation and instruction scheduling for RISCs, Proceedings of the fourth international conference on Architectural support for programming languages and operating systems, p.122-131, April 08-11, 1991, Santa Clara, California, United States
|
 |
6
|
|
 |
7
|
|
| |
8
|
G. J. Chaitin, M. Auslander, A. Chandra, J. Cocke, M. Hopkins, and P. Markstein. Register allocation via coloring. Computer Languages 6, pages 47-57, January 1981.
|
| |
9
|
V. Chvatal. Linear Porgramming. W.H. Freeman and Company., 1983.
|
| |
10
|
E. Duesterwald, R. Gupta, and M.L. Sofia. Register pipelining: An integrated approacn to register allocation for scalar and subscripted variables. Technical report, Department of Computer Science, University of Pittsburgh, 1991.
|
| |
11
|
K. Ebcioglu and T. Nakatani. A new compilation technique for parallelization loops with unpredictable branches on a VLIW architecture. Technical report, IBM, 1990.
|
 |
12
|
|
 |
13
|
|
| |
14
|
Christine Eisenbeis, William Jalby, Daniel Windheiser, and Francois Bodin. A strategy for array management in local memory. In Third Workshop on Programming Languages and Compilers }or Parallel Computing. University of California, Irvine, 1990. To be published by Pitman/MIT Press.
|
 |
15
|
|
| |
16
|
L. Hendren, G.R. Gao, E. Altman, and C. Mukerjl. A register allocation framework based on hierarchical cyclic interval graphs. Lecture Notes in Computer Science 641, pages 176-191, October 1992.
|
 |
17
|
|
| |
18
|
|
| |
19
|
L. G. Khachian. A polynomial algorithm in linear programming. Soviet Math. Doklady, 20:191-194, 1979.
|
 |
20
|
|
| |
21
|
Eugene L. Lawler. Combinatorial Optimization: Net. works and Matroids. Saunders College Publishing, Ft Worth, TX, 1976.
|
| |
22
|
|
| |
23
|
|
| |
24
|
Q. Ning and G.R. Gao. A novel framework of register allocation for software pipelining. Technical Report ACAPS Technique Memo 42, School of Computer Science, McGill University, Montreal, Quebec, Canada, 1992.
|
| |
25
|
Qi Ning. Optimal Register Allocation to Support Time- Optimal Scheduling }or Loops. PhD thesis, in preparation, School of Computer Science, McGill University, 1992.
|
| |
26
|
C. V. Ramamoorthy and G. S. Ho. Performance evaluation of asynchronous concurrent systems using Petri Nets. IEEE Transactions on Computers, pages 440- 448, September 1980.
|
 |
27
|
|
 |
28
|
B. R. Rau , M. Lee , P. P. Tirumalai , M. S. Schlansker, Register allocation for software pipelined loops, Proceedings of the ACM SIGPLAN 1992 conference on Programming language design and implementation, p.283-299, June 15-19, 1992, San Francisco, California, United States
|
 |
29
|
|
| |
30
|
|
 |
31
|
|
| |
32
|
|
CITED BY 27
|
|
|
|
|
|
|
|
|
|
|
|
|
|
R. Govindarajan , Erik R. Altman , Guang R. Gao, Minimizing register requirements under resource-constrained rate-optimal software pipelining, Proceedings of the 27th annual international symposium on Microarchitecture, p.85-94, November 30-December 02, 1994, San Jose, California, United States
|
|
|
|
|
|
Josep Llosa , Mateo Valero , Eduard Ayguadé , Antonio González, Hypernode reduction modulo scheduling, Proceedings of the 28th annual international symposium on Microarchitecture, p.350-360, November 29-December 01, 1995, Ann Arbor, Michigan, United States
|
|
|
|
|
|
|
|
|
Alexandre E. Eichenberger , Edward S. Davidson , Santosh G. Abraham, Minimum register requirements for a modulo schedule, Proceedings of the 27th annual international symposium on Microarchitecture, p.75-84, November 30-December 02, 1994, San Jose, California, United States
|
|
|
Gilles Hurteau , Vincent Van Dongen , Guang R. Gao, EPPP - an integrated environment for portable parallel programming, Proceedings of the 1994 conference of the Centre for Advanced Studies on Collaborative research, p.31, October 31-November 03, 1994, Toronto, Ontario, Canada
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Christian Haubelt , Joachim Falk , Joachim Keinert , Thomas Schlichter , Martin Streubühr , Andreas Deyhle , Andreas Hadert , Jürgen Teich, A SystemC-based design methodology for digital signal processing systems, EURASIP Journal on Embedded Systems, v.2007 n.1, p.15-15, January 2007
|
|
|
|
|
|
|
|
|
|
|