See this document in CiteSeerX!

Automatic Program Parallelization (1993)  (Make Corrections)  (111 citations)
Utpal Banerjee, Rudolf Eigenmann, Alexandru Nicolau
Proceedings of the IEEE



  Home/Search   Context   Related

 
View or download:
uiuc.edu/reports/1250.ps.gz
uiuc.edu/reports/1250.ps.gz
uiuc.edu/pub/researchgrou...1250.ps.gz
Cached:  PS.gz  PS  PDF   Image  Update  Help

From:  uiuc.edu/tech_reports (more)
From:  uiuc.edu/~padua/pu...publications
(Enter author homepages)

Rate this article: (best)
  Comment on this article  
(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