Compilers in General

55
David Padua. Outline of a Roadmap for Compiler Technology. IEEE Computational Science & Engineering, Fall 1996, 3(3):65--66, May 1996.

Polaris Overall

3
D. Padua, R. Eigenmann, J. Hoeflinger, P. Petersen, P. Tu, S. Weatherford, and K. Faigin. Polaris: A New-Generation Parallelizing Compiler for MPP's. Technical Report 1306, Univ. of Illinois at Urbana-Champaign, Center for Supercomputing Res. & Dev., June 1993.

14
William Blume, Rudolf Eigenmann, Jay Hoeflinger, David Padua, Paul Petersen, Lawrence Rauchwerger, and Peng Tu. Automatic Detection of Parallelism: A Grand Challenge for High-Performance Computing. IEEE Parallel and Distributed Technology, 2(3):37--47, Fall 1994.

19
William Blume, Rudolf Eigenmann, Keith Faigin, John Grout, Jay Hoeflinger, David Padua, Paul Petersen, Bill Pottenger, Lawrence Rauchwerger, Peng Tu, and Stephen Weatherford. Polaris: The Next Generation in Parallelizing Compilers. Proceedings of the Seventh Workshop on Languages and Compilers for Parallel Computing, Ithaca, New York, pages 10.1 -- 10.18, August 1994.

32
William Blume, Rudolf Eigenmann, Keith Faigin, John Grout, Jay Hoeflinger, David Padua, Paul Petersen, Bill Pottenger, Lawrence Rauchwerger, Peng Tu, and Stephen Weatherford. Polaris: Improving the Effectiveness of Parallelizing Compilers. Languages and Compilers for Parallel Computing. 7th International Workshop. Ithaca, NY, USA. Lecture Notes in Computer Science 892, Springer-Verlag, pages 141--154, August 1994.

33
David A. Padua, Rudolf Eigenmann, and Jay P. Hoeflinger. Automatic Program Restructuring for Parallel Computing and the Polaris Fortran Translator. Proceedings of the Seventh SIAM Conference on Parallel Processing for Scientific Computing, San Francisco, CA, February 15-17, 1995, pages 647--649, February 1995.

44
William Blume, Rudolf Eigenmann, Keith Faigin, John Grout, Jay Hoeflinger, David Padua, Paul Petersen, Bill Pottenger, Lawrence Rauchwerger, Peng Tu, and Stephen Weatherford. Effective Automatic Parallelization with Polaris. International Journal of Parallel Programming, May 1995.

51
William Blume, Ramon Doallo, Rudolf Eigenmann, John Grout, Jay Hoeflinger, Thomas Lawrence, Jaejin Lee, David Padua, Yunheung Paek, Bill Pottenger, Lawrence Rauchwerger, and Peng Tu. Parallel Programming with Polaris. IEEE Computer, 29(12):78--82, December 1996.

51
William Blume, Ramon Doallo, Rudolf Eigenmann, John Grout, Jay Hoeflinger, Thomas Lawrence, Jaejin Lee, David Padua, Yunheung Paek, Bill Pottenger, Lawrence Rauchwerger, and Peng Tu. Advanced Program Restructuring for High-Performance Computers with Polaris. Technical Report 1473, Univ. of Illinois at Urbana-Champaign, Center for Supercomputing Res. & Dev., January, 1996.

53
David Padua. Polaris: An Optimizing Compiler for Parallel Workstations and Scalable Multiprocessors. Technical Report 1475, Univ. of Illinois at Urbana-Champaign, Center for Supercomputing Res. & Dev., January 1996.

64
Bill Blume, Rudolf Eigenmann, Keith Faigin, John Grout, Jaejin Lee, Tom Lawrence, Jay Hoeflinger, David Padua, Yunheung Paek, Paul Petersen, Lawrence Rauchwerger, Peng Tu, and Stephen Weatherford. Restructuring Programs for High-Speed Computers with Polaris. Proceedings of the 1996 ICPP Workshop on Challenges for Parallel Processing, pages 149--161, August 1996.

Internal Representation

78
Yunheung Paek, Jay Hoeflinger, and David Padua. Simplification of Array Access Patterns for Compiler Optimizations. Proceedings of the 1998 ACM Conference on Programming Language Design and Implementation, Montreal, Canada, June 1998.

4
Keith A. Faigin, Jay P. Hoeflinger, David A. Padua, Paul M. Petersen, and Stephen A. Weatherford. The Polaris Internal Representation. International Journal of Parallel Programming, 22(5):553--586, October 1994.

23
Peng Tu and David Padua. Efficient Building and Placing of Gating Functions. Proceedings of the SIGPLAN'95 Conference on Programming Language Design and Implementation, June 1995.

46
Keith Aaron Faigin. The Polaris Internal Representation. Master's thesis, Univ. of Illinois at Urbana-Champaign, Center for Supercomputing Res. & Dev., 1994.

58
Yunheung Paek and Paul Petersen. A Data Dependence Graph in Polaris. Technical Report 1495, Univ. of Illinois at Urbana-Champaign, Center for Supercomputing Res. & Dev., May 1996.

66
Yunheung Paek, Jay Hoeflinger, and David Padua. Access Regions: Toward a Powerful Parallelizing Compiler. Technical Report 1508, Univ. of Illinois at Urbana-Champaign, Center for Supercomputing Res. & Dev., November 1996.

Parallelization Experiments

89
Jay Hoeflinger, Prasad Alavilli, Thomas Jackson, and Bob Kuhn. Producing Scalable Performance with OpenMP: Experiments with Two CFD Applications. Technical Report 1573, Univ. of Illinois at Urbana-Champaign, May 2000.

84
Yuan Lin and David Padua. Code Study: Automatic Parallelism Detection in Dyfesm. Proceedings of the First Workshop on Parallel Computing for Irregular Applications, Orlando, FL, January 1999.

2
L. Rauchwerger, P. Dubey, and R. Nair. Measuring Limits of Parallelism and Characterizing Its Vulnerability. Proceedings of 26th Annual Int'l Symp. on Microarchitecture, pages 105--117, December 1993.

6
William Blume and Rudolf Eigenmann. An Overview of Symbolic Analysis Techniques Needed for the Effective Parallelization of the Perfect Benchmarks. Proceedings of the 1994 International Conference on Parallel Processing, pages II233 -- II238, August, 1994.

17
Gregg M. Skinner and Rudolf Eigenmann. Parallelization and Performance of a Combustion Chemistry Simulation. Scientific Programming, Special Issue: Applications Analysis, 1995, 4(3), 1994.

25
Rudolf Eigenmann, Jay Hoeflinger, and David Padua. On the Automatic Parallelization of the Perfect Benchmarks . Technical Report 1392, Univ. of Illinois at Urbana-Champaign, Center for Supercomputing Res. & Dev., December 1994.

59
Bill Pottenger. Parallelism in Loops Containing Recurrences. Technical Report 1497, Univ. of Illinois at Urbana-Champaign, Center for Supercomputing Res. & Dev., June 1996.

67
Paul Petersen and David Padua. Static and Dynamic Evaluation of Dependence Analysis Techniques. IEEE Transactions on Parallel and Distributed Systems, 7(11), November 1996.

Parallelization Techniques

88
Yuan Lin. Compiler Analysis of Sparse and Irregular Computations. Technical Report 1572, Univ. of Illinois at Urbana-Champaign, March 2000. Ph.D. thesis.

85
Yuan Lin and David Padua. Analysis of Irregular Single-indexed Arrays and Its Applications in Compiler Optimizations. Technical Report 1566, Univ. of Illinois at Urbana-Champaign, October 1999.

81
Jay Hoeflinger. Interprocedural Parallelization Using Memory Classification Analysis. Technical Report 1543, Univ. of Illinois at Urbana-Champaign, Center for Supercomputing Res. &: Dev., August 1998. Ph.D. thesis.

80
Bill Pottenger. The Role of Associativity and Commutativity in the Detection and Transformation of Loop-Level Parallelism. Proc. of the 12th ACM International Conference on Supercomputing, Melbourne, Australia, July 1998.

79
Bill Pottenger and Rudolf Eigenmann. Idiom Recognition in the Polaris Parallelizing Compiler. Proc. of the International Conference on Supercomputing, Barcelona, Spain, pages 444-448, July 1995.

1
Peng Tu and David Padua. Automatic Array Privatization. In Utpal Banerjee, David Gelernter, Alex Nicolau, and David Padua, editors, Proc. Sixth Workshop on Languages and Compilers for Parallel Computing, Portland, OR. Lecture Notes in Computer Science, volume 768, pages 500--521, August 12-14, 1993.

21
William Blume and Rudolf Eigenmann. Symbolic Range Propagation. Proceedings of the 9th International Parallel Processing Symposium, April 1995.

26
William Morton Pottenger. Induction Variable Substitution and Reduction Recognition in the Polaris Parallelizing Compiler. Master's thesis, Univ of Illinois at Urbana-Champaign, Cntr for Supercomputing Res & Dev, December 1994.

27
Bill Pottenger and Rudolf Eigenmann. Parallelization in the Presence of Generalized Induction and Reduction Variables. Technical Report 1396, Univ. of Illinois at Urbana-Champaign, Center for Supercomputing Res. & Dev., January 1995.

35
Peng Tu. Privatization and Distribution of Arrays. Technical Report 1410, Univ. of Illinois at Urbana-Champaign, Center for Supercomputing Res. & Dev., March 1993.

36
Bill Pottenger and Rudolf Eigenmann. Idiom Recognition in the Polaris Parallelizing Compiler. Proceedings of the 9th ACM International Conference on Supercomputing, Barcelona, Spain, pages 444--448, July 1995.

39
John Robert Grout. Inline Expansion for the Polaris Research Compiler. Master's thesis, Univ. of Illinois at Urbana-Champaign, Center for Supercomputing Res. & Dev., May 1995.

40
Peng Tu. Automatic Array Privatization and Demand-Driven Symbolic Analysis. PhD thesis, Univ. of Illinois at Urbana-Champaign, Center for Supercomputing Res. & Dev., May 1995.

41
William Joseph Blume. Symbolic Analysis Techniques for Effective Automatic Parallelization. PhD thesis, Univ. of Illinois at Urbana-Champaign, Center for Supercomputing Res. & Dev., June 1995.

74
Jay Hoeflinger. Automatically Parallelizing the Main Loops in TFFT2 Via Access Region Analysis. Technical Report 1524, Univ. of Illinois at Urbana-Champaign, Center for Supercomputing Res. & Dev., May 1996.

68
Bill Pottenger and Rudolf Eigenmann. Targeting a Shared Address Space Version of the Seismic Benchmark Seis 1.1. Technical Report 1456, Univ. of Illinois at Urbana-Champaign, Center for Supercomputing Res. & Dev., December 1995.

69
Rafael Asenjo, Eladio Gutierrez, Yuan Lin, David Padua, Bill Pottenger, and Emilio Zapata. On the Automatic Parallelization of Sparse and Irregular Fortran Codes. Technical Report 1512, Univ. of Illinois at Urbana-Champaign, Center for Supercomputing Res. & Dev., December 1996.

70
Bill Pottenger and Bruce Schatz. Real-time Semantic Retrieval on Parallel Computers. Technical Report 1516, Univ. of Illinois at Urbana-Champaign, Center for Supercomputing Res. & Dev., December 1996.

71
Bill Pottenger and Bruce Schatz. cSpace: A Parallel C++ Information Retrieval Benchmark. Technical Report 1511, Univ. of Illinois at Urbana-Champaign, Center for Supercomputing Res. & Dev., December 1996.

72
Bill Pottenger and Bruce Schatz. Seismic: A Hybrid C/Fortran Seismic Processing Benchmark. Technical Report 1510, Univ. of Illinois at Urbana-Champaign, Center for Supercomputing Res. & Dev., December 1996.

73
Bill Pottenger. Theory, Techniques, and Experiments in Solving Recurrences in Computer Program\ s. PhD Thesis, Univ. of Illinois at Urbana-Champaign, Center for Supercomputing Res. & Dev., May 1997.

Dependence Analysis

13
William Blume and Rudolf Eigenmann. The Range Test: A Dependence Test for Symbolic, Non-linear Expressions. Proceedings of Supercomputing '94, Washington D.C., pages 528--537, November 1994.

56
William Blume and Rudolf Eigenmann. Non-Linear and Symbolic Data Dependence Testing. Technical Report 1490, Univ. of Illinois at Urbana-Champaign, Center for Supercomputing Res. & Dev., May 1996.

66
Jay Hoeflinger, Yunheung Paek, and David Padua. Region-based Parallelization Using the Region Test. Technical Report 1514, Univ. of Illinois at Urbana-Champaign, Center for Supercomputing Res. & Dev., December 1996.

Demand-Driven Analysis

10
Peng Tu and David Padua. Demand-Driven Symbolic Analysis. Technical Report 1336, Univ. of Illinois at Urbana-Champaign, Center for Supercomputing Res. & Dev., Febraury 1994.

30
Peng Tu and David Padua. Gated SSA-Based Demand-Driven Symbolic Analysis for Parallelizing Compilers. Proceedings of the 9th ACM International Conference on Supercomputing, Barcelona, Spain, pages 414--423, July 1995.

37
Bill Blume and Rudolf Eigenmann. Demand-driven, Symbolic Range Propagation. Proceedings of the Eighth Workshop on Languages and Compilers for Parallel Computing, Columbus, OH, pages 141--160, August 1995.

Compile-time Performance Prediction

93
Gheorghe Calin Cascaval. Compile-time Performance Prediction of Scientific Programs. Ph.D. thesis, Technical Report 1580, Univ. of Illinois at Urbana-Champaign, Center for Supercomputing Res. & Dev., August 2000.

92
Calin Cascaval, Luiz DeRose, David Padua, and Daniel Reed. Compile-time Based Performance Prediction. Proceedings of the 12th International Workshop on Languages and Compilers for Parallel Computing (LCPC), August 1999, La Jolla, CA. Also to appear in Lecture Notes in Computer Science, Springer-Verlag.

Parallelization for Distributed Memory Multiprocessors

90
George Almasi, Calin Cascaval, and David Padua. MATmarks: A Shared Memory Environment for MATLAB Programming. Proceedings of the 8th IEEE International Symposium on High Performance Performance Distributed Computing (HPDC), August 1999, Redondo Beach, CA, pp. 341-342.

91
George Almasi, Calin Cascaval, and David Padua. MATmarks: Distributed Shared Matlab. Proceedings of the 2nd International Workshop on Software Distributed Shared Memory, May 2000, Santa Fe, NM.

54
David Padua and Yunheung Paek. Automatic Parallelization for NonCoherent Cache Multiprocessors. Proceedings of the Workshop on Languages and Compilers for Parallel Computing, San Jose, CA; also to appear in Lecture Notes in Computer Science, August 1996.

65
Yunheung Paek and David Padua. Compiling for Scalable Multiprocessors with Polaris. The Proceedings of the 1996 SPDP Workshop on the Challenges in Compiling for Scalable Parallel Systems, New Orleans; also to appear in Parallel Processing Letters, World Scientific Publishing, UK, 1997, August 1996.

75
Yunheung Paek. Compiling for Distributed Memory Multiprocessors Based on Access Region Analysis. Ph.D. Thesis, Univ. of Illinois at Urbana-Champaign, Center for Supercomputing Res. & Dev., May 1997.

Parallelization of Application-Oriented Languages

76
Luiz DeRose and David Padua. Benchmarking FALCON's MATLAB-to-Fortran 90 Compiler on an SGI Power Challenge. Proceedings of the 9th Brazilian Symposium of Computer Architecture and High Performance Computation, Sao Paulo, Brazil, pages 285--299, October 1997.

77
Luiz DeRose, Kyle Gallivan, Bret Marsolf, David Padua, and Efstratios Gallopoulos. FALCON: A MATLAB Interactive Restructuring Compiler. Proceedings of the 8th International Workshop on Languages and Compilers for Parallel Computing, Columbus, OH, pages 18.1--18.18, August 1995.

50
Luiz DeRose and David Padua. A MATLAB to Fortran 90 Translator and its Effectiveness. Proceedings of the 10th ACM International Conference on Supercomputing, May 1996.

57
Luiz DeRose. Compiler Techniques for MATLAB Programs. PhD thesis, Univ. of Illinois at Urbana-Champaign, Center for Supercomputing Res. & Dev., May 1996.

60
Carlos Velez-Rivera. In-line Expansion of Matlab Scripts for the Matlab Compiler/Restructurer. Technical Report 1498, Univ. of Illinois at Urbana-Champaign, Center for Supercomputing Res. & Dev., July 1996.

FORBOL

16
Stephen Weatherford. High-Level Pattern-Matching Extensions to C++ for Fortran Program Manipulation in Polaris. Master's thesis, Univ. of Illinois at Urbana-Champaign, Center for Supercomputing Res. & Dev., May 1994.

Run-Time Techniques

5
Lawrence Rauchwerger and David Padua. The PRIVATIZING DOALL Test: A Run-Time Technique for DOALL Loop Identification and Array Privatization . Proceedings of the 8th ACM International Conference on Supercomputing, Manchester, England, pages 33--43, July 1994.

11
Lawrence Rauchwerger and David Padua. Speculative Run-Time Parallelization of Loops. Technical Report 1339, Univ. of Illinois at Urbana-Champaign, Center for Supercomputing Res. & Dev., March 1994.

15
Lawrence Rauchwerger and David A. Padua. Parallelizing WHILE Loops for Multiprocessor Systems. Proceedings for the 9th International Parallel Processing Symposium, April 1995.

22
Lawrence Rauchwerger and David Padua. The Privatizing DOALL Test: A Run-Time Technique for DOALL Loop Identification and Array Privatization. Technical Report 1383, Univ. of Illinois at Urbana-Champaign, Center for Supercomputing Res. & Dev., October 1994.

24
Lawrence Rauchwerger and David Padua. The LRPD Test: Speculative Run-Time Parallelization of Loops with Privatization and Reduction Parallelization. Proceedings of the SIGPLAN'95 Conference on Programming Language Design and Implementation, June 1995.

31
Lawrence Rauchwerger, Nancy M. Amato, and David A. Padua. Run-Time Methods for Parallelizing Partially Parallel Loops. Proceedings of the 9th ACM International Conference on Supercomputing, Barcelona, Spain, pages 137--146, July 1995.

34
Lawrence Rauchwerger and David Padua. Parallelizing WHILE Loops for Multiprocessor Systems. Technical Report 1409, Univ. of Illinois at Urbana-Champaign, Center for Supercomputing Res. & Dev., March 1995.

45
Lawrence Rauchwerger, Nancy M. Amato, and David A. Padua. A Scalable Method for Run-Time Loop Parallelization. Technical Report 1444, Univ. of Illinois at Urbana-Champaign, Center for Supercomputing Res. & Dev., June 1995.

48
Lawrence Rauchwerger. Run-Time Parallelization: A Framework for Parallel Computation. PhD thesis, Univ. of Illinois at Urbana-Champaign, Center for Supercomputing Res. & Dev., August 1995.

62
Thomas Lawrence. Implementation of Run Time Techniques in the Polaris Fortran Restructurer. Master's thesis, Univ. of Illinois at Urbana-Champaign, Center for Supercomputing Res. & Dev., 1996.

Code Generation

61
Jee Myeong Ku. The Design of an Efficient and Portable Interface Between a Parallelizing Compiler and its Target Machine. Master's thesis, Univ. of Illinois at Urbana-Champaign, Center for Supercomputing Res. & Dev., 1995.

Computer Architecture

63
Josep Torrellas and David Padua. The Illinois Aggressive Coma Multiprocessor Project (I-ACOMA). Proceedings of the Frontiers of the Massively Parallel Computation, Annapolis, MD, pages 106--111, October 1996.

Compiler Techniques for Java

95
Albert Cohen, Peng Wu, and David Padua. Pointer Analysis for Monotonic Container Traversals. University of Illinois at Urbana-Champaign, CSRD Technical Report No. 1586, 2001.

94
Peng Wu, Paul Feautrier, David Padua, and Zehra Sura. Points-to Analysis for Java with Applications to Loop Optimizations. University of Illinois at Urbana-Champaign, CSRD Technical Report No. 1585, 2000.

87
Peng Wu and David Padua. Containers on the Parallelization of General-purpose Java Programs. Proceedings of the International Conference on Parallel Architectures and Compilation Techniques, October, 1999. Also available as University of Illinois at Urbana-Champaign, CSRD Technical Report No. 1571, 1999.

86
Peng Wu, Paul Feautrier, and David Padua. Analyzing Java Arrays: Combness and Synchness Analysis. University of Illinois at Urbana-Champaign, CSRD Technical Report No. 1570, 1999.

82
Peng Wu, Sam Midkiff, Jose Moreira, and M. Gupta. Efficient Support for Complex Numbers in Java. Proceedings of the ACM'99 Java Grande Conference, San Francisco, CA, June 1999.

83
Peng Wu and David Padua. Beyond Arrays: A Container-centric Approach for Parallelization of Real-world Symbolic Applications. Proceedings of the 11th International Workshop on Languages and Compilers for Parallel Computing (LCPC). Lecture Notes in Computer Science, Springer-Verlag, 1998.

Sheila Clark
March 2000