|
ABSTRACT
Dependence graphs can be used as a vehicle for formulating and implementing compiler optimizations. This paper defines such graphs and discusses two kinds of transformations. The first are simple rewriting transformations that remove dependence arcs. The second are abstraction transformations that deal more globally with a dependence graph. These transformations have been implemented and applied to several different types of high-speed architectures.
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
|
{AbKL79} W. Abu-Sufah, D. Kuck, and D. Lawrie, "Automatic Program Transformations for Virtual Memory Computers," Proc. of the 1979 Nat'l. Computer Conf., pp. 969-974, June 1979.
|
| |
2
|
|
| |
3
|
|
| |
4
|
|
| |
5
|
{AlCo72} F. E. Allen and J. Cocke, "A Catalogue of Optimizing Transformations," in Design and Optimization of Compilers (R. Rustin, Ed.), Prentice-Hall, Inc., NJ, pp. 1-30, 1972.
|
| |
6
|
{ArGP78} Arvind, K. P. Gostelow, and W. Plouffe, "An Asynchronous Programming Language and Computing Machine," University of California at Irvine, CA, Dept. of Information and Computer Science Rpt. 114a, Dec. 1978.
|
| |
7
|
{AsMa75} E. Ascroft and Z. Manna, "Translating Program Schemes to While-Schemas," SIAM J. on Computing, Vol. 4, No. 2, pp. 125-146, June 1975.
|
| |
8
|
{BaGK80} U. Banerjee, D. Gajski, and D. J. Kuck, "Array Machine Control Units for Loops Containing IFs," Proc. of the 1980 Int'l. Conf. on Parallel Processing, Harbor Springs, MI, pp. 28-36, Aug. 1980.
|
 |
9
|
|
| |
10
|
{Bane76} U. Banerjee, "Data Dependence in Ordinary Programs," M. S. thesis, Univ. of Ill. at Urbana-Champaign, Dept. of Comput. Sci. Rpt. No. 76-837, Nov. 1976.
|
| |
11
|
|
| |
12
|
{BCKT79} U. Banerjee, S. C. Chen, D. J. Kuck, and R. A. Towle, "Time and Parallel Processor Bounds for Fortran-Like Loops," IEEE Trans. on Computers, Vol. C-28, No. 9, pp. 660-670, Sept. 1979.
|
| |
13
|
{Beat74} J. C. Beatty, "Register Assignment Algorithm for Generation of Highly Optimized Object Code," IBM J. of Res. and Dev., Vol. 18, No. 1, pp. 20-39, Jan. 1974.
|
 |
14
|
|
 |
15
|
|
| |
16
|
{DayW70} W. H. E. Day, "Compiler Assignment of Data Items to Registers," IBM Systs. J., Vol. 9, No. 4, pp. 281-317, 1970.
|
| |
17
|
{DuKn78} D. D. Dunlop and J. C. Knight, "Register Allocation in the SL/1 Compiler," Proc. of the 1978 LASL Workshop on Vector & Parallel Processors, LA-7491-C, Los Alamos, NM, pp. 205-211, Sept. 1978.
|
| |
18
|
|
 |
19
|
|
| |
20
|
{KKLW80} D. J. Kuck, R. H. Kuhn, B. Leasure, and M. Wolfe, "Analysis and Transformation of Programs for Parallel Computation," to appear in Proc. of the Fourth Int'l. Computer Software & Applications Conf., Oct. 1980.
|
| |
21
|
|
| |
22
|
{Kuck80} D. J. Kuck, Class Notes for C. S. 433, Univ. of Ill. at Urb.-Champ., Dept. of Comput. Sci., 1979.
|
| |
23
|
{KuMC72} D. J. Kuck, Y. Muraoka, and S. C. Chen, "On the Number of Operations Simultaneously Executable in FORTRAN-Like Programs and Their Resulting Speed-Up," IEEE Trans. on Computers, Vol. C-21, No. 12, pp. 1293-1310, Dec. 1972.
|
 |
24
|
|
| |
25
|
{LuBa80} S. F. Lundstrom and G. H. Barnes, "A Controllable MIMD Architecture," Proc. of the 1980 Int'l. Conf. on Parallel Processing, pp. 19-27, Aug. 1980.
|
| |
26
|
{PaKL80} D. A. Padua, D. J. Kuck, and D. H. Lawrie, "High-Speed Multiprocessors and Compilation Techniques," Special Issue on Parallel Processing, IEEE Trans. on Computers, Vol. C-29, No. 9, pp. 763-776, Sept. 1980.
|
| |
27
|
{Park77} D. S. Parker, Jr., "Nonlinear Recurrences and Parallel Computation," in High Speed Computer and Algorithm Organization, pp. 317-320, Academic Press, Inc., 1977.
|
| |
28
|
{ZeBa74} M. V. Zelkowitz and W. G. Bail, "Optimization of Structured Programs," Software Practice and Experience, Vol. 4, No. 1, pp. 51-57, 1974.
|
CITED BY 174
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Michael Burke , Ron Cytron , Jeanne Ferrante , Wilson Hsieh , Vivek Sarkar , David Shields, Automatic discovery of parallelism: a tool and an experiment (extended abstract), ACM SIGPLAN Notices, v.23 n.9, p.77-84, Sept. 1988
|
|
|
W. Baxter , H. R. Bauer, III, The program dependence graph and vectorization, Proceedings of the 16th ACM SIGPLAN-SIGACT symposium on Principles of programming languages, p.1-11, January 11-13, 1989, Austin, Texas, United States
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Y. Tanaka , K. Iwasawa , S. Gotoo , Y. Umetani, Compiling techniques for first-order liner recurrences on a Vector computer, Proceedings of the 1988 ACM/IEEE conference on Supercomputing, p.174-181, November 12-17, 1988, Orlando, Florida, United States
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
B.-M. Hsieh , M. Hind , R. Cytron, Loop distribution with multiple exits, Proceedings of the 1992 ACM/IEEE conference on Supercomputing, p.204-213, November 16-20, 1992, Minneapolis, Minnesota, United States
|
|
|
S. Horwitz , J. Prins , T. Reps, Integrating non-intering versions of programs, Proceedings of the 15th ACM SIGPLAN-SIGACT symposium on Principles of programming languages, p.133-145, January 10-13, 1988, San Diego, California, United States
|
|
|
S. A. Mahlke , W. Y. Chen , J. C. Gyllenhaal , W.-M. W. Hwu, Compiler code transformations for superscalar-based high performance systems, Proceedings of the 1992 ACM/IEEE conference on Supercomputing, p.808-817, November 16-20, 1992, Minneapolis, Minnesota, United States
|
|
|
|
|
|
|
|
|
|
|
|
Mary W. Hall , Ken Kennedy , Kathryn S. McKinley, Interprocedural transformations for parallel code generation, Proceedings of the 1991 ACM/IEEE conference on Supercomputing, p.424-434, November 18-22, 1991, Albuquerque, New Mexico, United States
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Alok Choudhary , Geoffrey Fox , Seema Hiranandani , Ken Kennedy , Charles Koelbel , Sanjay Ranka , Chau-Wen Tseng, Unified compilation of Fortran 77D and 90D, ACM Letters on Programming Languages and Systems (LOPLAS), v.2 n.1-4, p.95-114, March–Dec. 1993
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
E. Ayguadé , J. Labarta , J. Torres , P. Borensztejn, GTS: parallelization and vectorization of tight recurrences, Proceedings of the 1989 ACM/IEEE conference on Supercomputing, p.531-539, November 12-17, 1989, Reno, Nevada, United States
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
S. Horwitz , J. Prins , T. Reps, On the adequacy of program dependence graphs for representing programs, Proceedings of the 15th ACM SIGPLAN-SIGACT symposium on Principles of programming languages, p.146-157, January 10-13, 1988, San Diego, California, United States
|
|
|
|
|
|
C. M. Burns , R. H. Kuhn , E. J. Werme, Low copy message passing on the Alliant CAMPUS/800, Proceedings of the 1992 ACM/IEEE conference on Supercomputing, p.760-769, November 16-20, 1992, Minneapolis, Minnesota, United States
|
|
|
|
|
|
H. Yamana , T. Hagiwara , J. Kohdate , Y. Muraoka, A preceding activation scheme with graph unfolding for the parallel processing system-array, Proceedings of the 1989 ACM/IEEE conference on Supercomputing, p.675-684, November 12-17, 1989, Reno, Nevada, United States
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
T. Bergstraesser , J. Gessner , K. Hafner , S. Wallstab, SMART: tools and methods for synthesis of VLSI chips with processor architecture, Proceedings of the 25th ACM/IEEE conference on Design automation, p.654-657, June 12-15, 1988, Atlantic City, New Jersey, United States
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Ervan Darnell , John M. Mellor-Crummey , Ken Kennedy, Automatic software cache coherence through vectorization, Proceedings of the 6th international conference on Supercomputing, p.129-138, July 19-24, 1992, Washington, D. C., United States
|
|
|
Seema Hiranandani , Ken Kennedy , Chau-Wen Tseng, Compiler optimizations for Fortran D on MIMD distributed-memory machines, Proceedings of the 1991 ACM/IEEE conference on Supercomputing, p.86-100, November 18-22, 1991, Albuquerque, New Mexico, United States
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Jack Dongarra , Ian Foster , Geoffrey Fox , William Gropp , Ken Kennedy , Linda Torczon , Andy White, References, Sourcebook of parallel computing, Morgan Kaufmann Publishers Inc., San Francisco, CA, 2003
|
|
|
Gene Fuh , Jyh-Herng Chow , Nelson Mattos , Brian Tran, Supporting procedural constructs in existing SQL compilers, Proceedings of the 1996 conference of the Centre for Advanced Studies on Collaborative research, p.11, November 12-14, 1996, Toronto, Ontario, Canada
|
|
|
|
|
|
C.-R. Dow , S.-K. Chang , M. L. Soffa, A visualization system for parallelizing programs, Proceedings of the 1992 ACM/IEEE conference on Supercomputing, p.194-203, November 16-20, 1992, Minneapolis, Minnesota, United States
|
|
|
|
|
|
|
|
|
|
|
|
C. Eisenbeis , W. Jalby , A. Lichnewsky, Squeezing more CPU performance out of a Cray-2 by Vector block scheduling, Proceedings of the 1988 ACM/IEEE conference on Supercomputing, p.237-246, November 12-17, 1988, Orlando, Florida, United States
|
|
|
|
|
|
|
|
|
|
|
|
Seema Hiranandani , Ken Kennedy , Chau-Wen Tseng, Evaluation of compiler optimizations for Fortran D on MIMD distributed memory machines, Proceedings of the 6th international conference on Supercomputing, p.1-14, July 19-24, 1992, Washington, D. C., United States
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Ana Azevedo , Arun Kejariwal , Alex Veidenbaum , Alexandru Nicolau, High performance annotation-aware JVM for Java cards, Proceedings of the 5th ACM international conference on Embedded software, September 18-22, 2005, Jersey City, NJ, USA
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Pieter Bellens , Josep M. Perez , Felipe Cabarcas , Alex Ramirez , Rosa M. Badia , Jesus Labarta, CellSs: Scheduling techniques to better exploit memory hierarchy, Scientific Programming, v.17 n.1-2, p.77-95, January 2009
|
|
|
Alexandru Nicolau , Guangqiang Li , Alexander V. Veidenbaum , Arun Kejariwal, Synchronization optimizations for efficient execution on multi-cores, Proceedings of the 23rd international conference on Supercomputing, June 08-12, 2009, Yorktown Heights, NY, USA
|
|