On the automatic parallelization of the Perfect Benchmarks(R)

作者: R. Eigenmann , J. Hoeflinger , D. Padua

DOI: 10.1109/71.655238

关键词:

摘要: This paper presents the results of Cedar Hand-Parallelization Experiment conducted from 1989 through 1992, within Center for Supercomputing Research and Development (CSRD) at University Illinois. In this experiment, we manually transformed Perfect Benchmarks(R) into parallel program versions. doing so, used techniques that may be automated in an optimizing compiler. We then ran these programs on multiprocessor (built CSRD during 1980s) measured speed improvement due to each technique. The presented here extend findings previously reported. credited most performance gains include array privatization, parallelization reduction operations, substitution generalized induction variables. All can considered extensions transformations were available vectorizers commercial restructuring compilers late 1980s. applied by hand given programs, a mechanical manner, similar parallelizing Because our success with transformations, believed it would possible implement many new Such compiler has been completed meantime show preliminary results.

参考文章(28)
Ravi Sethi, Jeffrey D. Ullman, Alfred V. Aho, Compilers: Principles, Techniques, and Tools ,(1986)
R. Eigenmann, J. Hoeflinger, Z. Li, D. Padua, Experience in the Automatic Parallelization of Four Perfect-Benchmark Programs languages and compilers for parallel computing. pp. 65- 83 ,(1991) , 10.1007/BFB0038658
Yunheung Paek, David A. Padua, Automatic parallelization for non-cache coherent multiprocessors Languages and Compilers for Parallel Computing. pp. 266- 284 ,(1997) , 10.1007/BFB0017258
D. Maydan, S. Amarsinghe, M. Lam, Data Dependence and Data-Flow Analysis of Arrays languages and compilers for parallel computing. pp. 434- 448 ,(1992) , 10.1007/3-540-57502-2_63
Rudolf Eigenmann, Insung Park, Michael J. Voss, Are parallel workstations the right target for parallelizing compilers? Languages and Compilers for Parallel Computing. pp. 300- 314 ,(1997) , 10.1007/BFB0017260
Mohammad R. Haghighat, Constantine D. Polychronopoulos, Symbolic Analysis: A Basis for Parallelization, Optimization, and Scheduling of Programs languages and compilers for parallel computing. pp. 567- 585 ,(1993) , 10.1007/3-540-57659-2_32
Michael Wolfe, Beyond induction variables programming language design and implementation. ,vol. 27, pp. 162- 174 ,(1992) , 10.1145/143095.143131
Bill Pottenger, Rudolf Eigenmann, Idiom recognition in the Polaris parallelizing compiler Proceedings of the 9th international conference on Supercomputing - ICS '95. pp. 444- 448 ,(1995) , 10.1145/224538.224655
Zhiyuan Li, Array privatization for parallel execution of loops international conference on supercomputing. pp. 313- 322 ,(1992) , 10.1145/2591635.2667166
Rudolf Eigenmann, Toward a methodology of optimizing programs for high-performance computers Proceedings of the 7th international conference on Supercomputing - ICS '93. pp. 27- 36 ,(1993) , 10.1145/165939.165948