(Enter summary)
Abstract: This paper presents an overview of automatic program parallelization techniques. It covers dependence analysis techniques, followed by a discussion of program transformations, including straight-line code parallelization, do loop transformations, and parallelization of recursive routines. The last section of the paper surveys several experimental studies on the effectiveness of parallelizing compilers. (Update)
Cited by: More
Auto-CFD: Efficiently Parallelizing CFD Applications on Clusters - Li Xiao Xiaodong
(Correct)
Automatic Parallelization of OpenGL Code - Hero (2004)
(Correct)
Data and Memory Optimization Techniques for Embedded.. - Panda, Catthoor, Dutt, .. (2001)
(Correct)
Active bibliography (related documents): More All
2.6: Performance Analysis of Parallelizing Compilers on the.. - Programs William
(Correct)
1.8: Success And Limitations In Automatic Parallelization Of The.. - Blume (1992)
(Correct)
0.8: Extracting data flow information for parallelizing FORTRAN nested .. - Walker (1994)
(Correct)
Similar documents based on text: More All
0.1: Using Profile Information to Assist Advanced.. - Chen, Mahlke.. (1992)
(Correct)
0.1: On the Removal of Anti and Output Dependences - Pierre-Yves Calland
(Correct)
0.1: Approximation Algorithms for Some Graph Partitioning Problems - He, Liu, al. (2000)
(Correct)
Related documents from co-citation: More All
22: Advanced Compiler Optimizations for Supercomputers (context) - Padua, Wolfe - 1986
19: Compiler Transformations for HighPerformance Computing
- Bacon, Graham et al. - 1993
18: Supercompilers for Parallel and Vector Computers (context) - Zima, Chapman - 1990
BibTeX entry: (Update)
U. Banerjee, R. Eigenmann, A. Nicolau, and D. Padua. Automatic program parallelization. Proceedings of the IEEE, 81(2):211--243, February 1993. http://citeseer.ist.psu.edu/article/banerjee93automatic.html More
@article{ banerjee93automatic,
author = "Utpal Banerjee and Rudolf Eigenmann and Alexandru Nicolau and David A. Padua",
title = "Automatic Program Parallelization",
journal = "Proceedings of the IEEE",
volume = "81",
number = "2",
pages = "211--243",
year = "1993",
url = "citeseer.ist.psu.edu/article/banerjee93automatic.html" }
Citations (may not include all citations):
2003
The Art of Computer Programming (context) - Knuth - 1981
717
Theory of Linear and Integer Programming (context) - Schrijver - 1987
474
A data locality optimizing algorithm (context) - Wolf, Lam - 1991
407
Trace scheduling: A technique for global microcode compactio.. (context) - Fisher - 1981
353
Software pipelining: An effective scheduling technique for V.. (context) - Lam - 1988
352
Supercompilers for Parallel and Vector Computers (context) - Zima - 1991
299
Dependence analysis for supercomputing (context) - Banerjee - 1988
283
Optimizing Supercompilers for Supercomputers (context) - Wolfe - 1989
277
Advanced Compiler Optimization for Supercomputers (context) - Padua, Wolfe - 1986
258
Automatic translation of Fortran programs to vector form
- Allen, Kennedy - 1987
252
Analysis of pointers and structures (context) - Chase, Wegman et al. - 1990
245
The Omega Test: A Fast and Practical Integer Programming Alg..
- Pugh - 1991
230
Limits of instruction level parallelism
- Wall - 1991
210
Co-operating sequential processes (context) - Dijkstra - 1968
207
Flow analysis and optimization of lisp-like structures (context) - Jones, Muchnick - 1981
178
Supernode partitioning (context) - Irigoin, Triolet - 1988
176
Some scheduling techniques and an easily schedulable horizon.. (context) - Rau, Glaeser - 1981
173
Bulldog: A Compiler for VLIW Architectures (context) - Ellis - 1985
171
Dependence Graphs and Compiler Optimizations (context) - Kuck, Kuhn et al. - 1981
169
Scanning polyhedra with do loops
- Ancourt, Irigoin - 1991
168
The parallel execution of DO loops (context) - Lamport - 1974
160
IMPACT: An Architectural Framework for Multiple Instruction ..
- Chang, Mahlke et al. - 1991
157
Conversion of Control Dependence to Data Dependence (context) - Allen, Kennedy - 1983
149
Software prefetching (context) - Callahan, Kennedy et al. - 1991
146
Unimodular transformations of double loops (context) - Banerjee - 1991
146
Parallelizing programs with recursive data structures (context) - Hendren, Nicolau - 1990
135
Operating Systems Theory (context) - Coffman, Denning - 1973
132
Detecting conflicts between structure accesses (context) - Larus, Hilfinger - 1988
130
A VLIW architecture for a trace scheduling compiler (context) - Colwell, Nix et al. - 1987
111
More iteration space tiling (context) - Wolfe - 1989
110
Practical dependence testing
- Goff, Kennedy et al. - 1991
104
The Structure of Computers and Computations (context) - Kuck - 1978
99
Dependence analysis for pointer variables (context) - Horwitz, Pfeiffer et al. - 1989
99
Polymorphic effect systems (context) - Lucassen, Gifford - 1988
94
Performance Analysis of Parallelizing Compilers on the Perfe.. (context) - Blume, Eigenmann - 1992
84
Efficient and exact data dependence analysis (context) - Maydan, Hennessy et al. - 1991
84
Experience in the Automatic Parallelization of Four Perfect-..
- Eigenmann, Hoeflinger et al. - 1992
83
Compiler-directed Data Prefetching in Multiprocessors with M..
- Gornish, Granston et al. - 1990
80
Direct parallelization of call statements (context) - Triolet, Irigoin et al. - 1986
79
Abstractions for recursive pointer data structures: Improvin..
- Hendren, Hummel et al. - 1992
79
Interprocedural dependence analysis and parallelization (context) - Burke, Cytron - 1986
78
An Overview of the PTRAN Analysis System for Multiprocessing (context) - Allen, Burke et al. - 1987
78
Compiler algorithm for synchronization (context) - Midkiff, Padua - 1987
76
Doacross: Beyond vectorization for multiprocessors (context) - Cytron - 1986
73
A safe approximation algorithm for interprocedural pointer a.. (context) - Landi, Ryder - 1992
71
Data dependence and its application to parallel processing (context) - Wolfe, Banerjee - 1987
69
Single instruction stream parallelism is greater than two (context) - Butler, Yeh et al. - 1991
68
Beyond Induction Variables
- Wolfe - 1992
67
An approach to scientific array processing: The architectura.. (context) - Charlesworth - 1981
67
Measuring the parallelism available for very long instructio.. (context) - Nicolau, Fisher - 1984
66
Automatic blocking of nested loops
- Schreiber, Dongarra - 1990
66
A Systolic Array Optimizing Compiler (context) - Lam - 1987
64
Array Privatization for Parallel Execution of Loops
- Li - 1992
64
Array expansion
- Feautrier - 1988
63
A storeless model of aliasing and its abstractions using fin.. (context) - Deutsch - 1992
60
Dependence Flow Graphs: An Algebraic Approach to Program Dep..
- Pingali, Beck et al. - 1991
60
Time optimal linear schedules for algorithms with uniform de.. (context) - Shang, Fortes - 1991
57
The inhibition of potential parallelism by conditional jumps (context) - Riseman, Foster - 1972
56
The interprocedural analysis and automatic parallelization o.. (context) - Harrison - 1989
54
Automatic decomposition of scientific programs for parallel .. (context) - Allen, Callahan et al. - 1987
53
High-Speed Multiprocessors and Compilation Techniques (context) - Padua, Kuck et al. - 1980
52
A compilation technique for software pipelining of loops wit.. (context) - Ebcioglu - 1987
51
Perfect pipelining: A new loop parallelization technique
- Aiken, Nicolau - 1988
47
Detectionand parallel execution of independent statements (context) - Tjadan, Flynn - 1970
45
An empirical study of Fortran programs for parallelizing com..
- Shen, Li et al. - 1990
44
Pfc: A program to convert fortran to parallel form (context) - Allen, Kennedy - 1985
43
Automatic loop interchange (context) - Allen, Kennedy - 1984
42
Program improvement by source-to-source transformation (context) - Loveman - 1977
41
Lifetime analysis of dynamically allocated objects (context) - Ruggieri, Murtagh - 1988
39
Data dependence and data-flow analysis of arrays
- Maydan, Amarasinghe et al. - 1992
39
Minimum Distance: A Method for Partitioning Recurrences for .. (context) - Peir, Cytron - 1987
38
Parallel processing: A smart compiler and a dumb machine (context) - Fisher, Ellis et al. - 1984
38
Automatic management of programmable caches (context) - Cytron, Karlovsky et al. - 1988
35
A global resource-constrained parallelizationtechnique (context) - Ebcioglu, Nicolau - 1989
35
An efficient data dependence analysis for parallelizing comp..
- Li, Yew et al. - 1990
34
An empirical investigation of the effectiveness and limitati.. (context) - Singh, Hennessy - 1991
34
A development environment for horizontal microcode
- Aiken, Nicolau - 1988
33
Some Design Ideas for a VLIW Architecture for Sequential Nat.. (context) - Ebcioglu - 1988
32
Efficient computation of flow insensitive interprocedural su.. (context) - Cooper, Kennedy - 1984
32
Unify and conquer (context) - Baker - 1990
31
Symbolic Program Analysis and Optimization for Parallelizing..
- Haghighat, Polychronopoulos - 1992
31
the Performance Enhancement of Paging Systems Through Progra.. (context) - Abu-Sufah, Kuck et al. - 1981
30
A Fortran compiler for the FPS-164 scientific computer (context) - Touzeau - 1984
30
Uniform parallelism exploitation in ordinary programs (context) - Nicolau - 1985
29
Speedup of Ordinary Programs (context) - Banerjee - 1979
29
Compaction-Based Parallelization (context) - Aiken - 1988
28
Englewood Cliffs (context) - Aho, Ullman et al. - 1973
28
Multiple version loops (context) - Byler, Davies et al. - 1987
25
A technique for analyzing pointer and structure references i.. (context) - Guarna - 1988
25
Multiprocessors: Discussion of Some Theoretical and Practica.. (context) - Padua - 1979
25
The Structure of an Advanced Vectorizer for Pipelined Proces.. (context) - Kuck, Kuhn et al. - 1980
25
The Program Dependency Graph and its Uses in Optimization (context) - Ferrante, Ottenstein et al. - 1987
24
Measurements of Parallelism in Ordinary FORTRAN Programs (context) - Kuck, Budnik et al. - 1974
23
Parallelism Exposure and Exploitation in Programs (context) - Muraoka - 1971
23
Loop distribution with arbitrary control flow
- Kennedy, McKinley - 1990
22
Experiences using control dependence in PTRAN (context) - Cytron, Ferrante et al. - 1990
22
Vectorizing Compilers: A Test Suite and Results (context) - Callahan, Dongarra et al. - 1988
21
Time and Parallel Processor Bounds for Fortran-Like Loops (context) - Banerjee, Chen et al. - 1979
20
An empirical study on array subscripts and data dependencies (context) - Shen, Li et al. - 1989
19
GURPR---a method for global software pipelining (context) - Su, Ding et al. - 1987
19
of Illinois at Urbana-Champaign (context) - Eigenmann, Hoeflinger et al. - 1992
19
Efficient Interprocedural Analysis for Program Parallelizati.. (context) - Li, Yew - 1988
19
On Reducing Data Synchronization in MultiprocessedLoops (context) - Li, Abu-Sufah - 1987
19
Data Dependence in Ordinary Programs (context) - Banerjee - 1976
18
Automatic Software Cache Coherence through Vectorization
- Darnell, Mellor-Crummey et al. - 1992
18
Partitioning and labeling of loops by unimodular transformat.. (context) - D'Hollander - 1992
17
Machine-Independent Evaluation of Parallelizing Compilers
- Petersen, Padua - 1992
17
Organizing matrices and matrix operations for paged memory s.. (context) - McKellar, Coffman - 1974
16
Advanced loop interchanging (context) - Wolfe - 1986
16
Analysis of recursive types in Lisp-like languages
- Wang, Hilfinger - 1990
15
Parallelizing WHILE loops (context) - Wu, Lewis - 1990
15
HPSm a High Performance Restricted Data Flow Architecture Ha.. (context) - Patt, Hwu - 1986
14
Region scheduling (context) - Gupta, Soffa - 1987
14
Removal of redundant dependences in DOACROSS loops with cons.. (context) - Krothapalli, Sadayappan - 1991
13
Using a lookahead window in a compaction-based parallelizing.. (context) - Nakatani, Ebcioglu - 1990
13
An Evaluation of Automatic and Interactive Parallel Programm.. (context) - Cheng, Pase - 1991
13
The HTG: An Intermediate Representation for Programs Based o.. (context) - Girkar, Polychronopoulos - 1992
12
Compiling Lisp for Evaluation on a Tightly Coupled Multiproc.. (context) - Harrison - 1986
12
Measurement of Program Improvement Algorithms (context) - Cocke, Markstein - 1980
11
Automatic Recognition of Induction & Recurrence Relations by.. (context) - Ammarguellat, Harrison - 1990
11
i test: An improved dependence test for automatic paralleliz.. (context) - Kong, Klappholz et al. - 1991
10
A Scheme to Enforce Data Dependence on Large Multiprocessor .. (context) - Zhu, Yew - 1987
10
How DEC developedAlpha (context) - Comerford - 1992
9
Optimizing Matrix Operations on a Parallel Multiprocessor wi.. (context) - Jalby, Meier - 1986
9
PARCEL: Project for the Automatic Restructuring and Concurre.. (context) - Harrison, Padua - 1988
8
Percolation-Based Compiling for Evaluation of Parallelism an.. (context) - Potasman - 1991
7
The microprogramming of pipelined processors (context) - Kogge - 1977
7
Performance Evaluation of three Automatic Vectorizer Package.. (context) - Arnold - 1982
6
Parafrase-2: A new generation parallelizing compiler (context) - Polychronopoulos, Girkar et al. - 1989
6
Srdag CompAction: a generalization of trace scheduling to in.. (context) - Linn - 1983
6
A Comparison Study of Automatically Vectorizing Fortran Comp.. (context) - Nobayashi, Eoyang - 1989
6
Compile-Time Scheduling and Optimization for Asynchronous Ma.. (context) - Cytron - 1984
5
Line Subroutine Expander for Parafrase (context) - Huson, In- - 1982
5
Dynamic Dependence Analysis: A Novel Method for Data Depende..
- Petersen, Padua - 1992
5
The Effect of Restructuring Compilers on Program Performance.. (context) - Cytron, Kuck et al. - 1985
5
High-Speed Multiprocessors and Their Compilers (context) - Kuck, Padua - 1979
4
Loop Coalescing: A Compiler Transformation for Parallel Mach.. (context) - Polychronopoulos - 1987
4
Compiler Optimizations for Enhancing Parallelism and Their I.. (context) - Polychronopoulos - 1988
4
Dependence Driven Computation (context) - Gajski, Kuck et al. - 1981
3
Department of Computer Science (context) - Nicolau, Memory et al. - 1984
3
Programmiertechniken fur die Vektorisierung (context) - Detert - 1987
3
Control and Data Dependence for Program Transformations (context) - Towle - 1976
3
Automatic generation of nested fork-join parallelism (context) - Burke, Cytron et al. - 1989
3
Generalized iteration space and the parallelization of symbo..
- Harrison - 1991
3
The supression of compensation code (context) - Gross, Ward - 1991
3
A comparative study of KAP and VAST: two automatic preproces.. (context) - Luecke, Coyle et al. - 1988
3
An Evaluation of Vector Fortran 200 Generated by Cyber 205 a.. (context) - Braswell, Keech - 1988
2
On Optimal Loop Parallelization (context) - Schwiegelshohn, Gasperoni et al. - 1989
2
An Empirical Study of Automatic Restructuring of Nonnumerica.. (context) - Lee, Kruskal et al. - 1985
2
control conditions in task graphs (context) - Girkar, Polychronopoulos et al. - 1992
1
Languages and Compilers for Parallel Computing (context) - Solworth, project et al. - 1990
1
Languages and Compilers for Parallel Computing (context) - Klappholz, Kallis et al. - 1990
1
A sequential language for parallel processing (context) - Dietz, Klappholz - 1985
1
Pointer tracking (context) - Loeliger, Metzger et al. - 1991
1
Impact of Self-Scheduling Orders on Performance (context) - Tang, Yew et al. - 1988
1
Sixth Annual Languages and Compilers for Parallel Computing (context) - Tu, Padua et al. - 1993
1
Untersuchungen an autovektorisierenden compilern (context) - Detert - 1987
The graph only includes citing articles where the year of publication is known.
Documents on the same site (http://www.csrd.uiuc.edu/tech_reports.html): More
Automatic Detection Of Nondeterminacy, And Scalar Optimizations In .. - Ghosh (1992)
(Correct)
Run-time Visualization of Program Data - Tuchman, Jablonowski, Cybenko (1991)
(Correct)
PTOPP - A Practical Toolset for the Optimization of Parallel.. - McClaughry (1992)
(Correct)
Online articles have much greater impact More about CiteSeer.IST Add search form to your site Submit documents Feedback
CiteSeer.IST - Copyright Penn State and NEC