Abstract
Traditional loop-based dependence analysis techniques have limitations when non-affine expressions are used, when interprocedural analysis is required, or when analysis of non-loops is needed. In this work, we return to first principles to devise a more general parallelism detection strategy, which includes a dependence analysis technique which removes some of these limitations. We show how to do interprocedural dependence testing between arbitrary sections of code as well as loops, using a technique which includes privatization and recognition of inductions and reductions. We also present the results of recent experiments that we conducted to test the effectiveness of our algorithm on a variety of actual programs. The results are still preliminary, but are quite encouraging.
This work is supported in part by Army contract DABT63-95-C-0097; Army contract N66001-97-C-8532; NSF contract MIP-9619351; and a Partnership Award from IBM and the NJIT SBR program. This work is not necessarily representative of the positions of the Army or the Government.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
V. Balasundaram and K. Kennedy. A Technique for Summarizing Data Access and its Use in Parallelism Enhancing Transformations. Proceedings of the SIGPLAN Conference on Programming Language Design and Implementation, June 1989.
U. Banerjee. Dependence Analysis. Kluwer Academic Publishers, Norwell, MA, 1997.
W. Blume. Symbolic Analysis Techniques for Effective Automatic Parallelization. PhD thesis, Univ. of Illinois at Urbana-Champaign, Dept. of Computer Science, June 1995.
W. Blume, R. Doallo, R. Eigenmann, J. Grout, J. Hoeflinger, T. Lawrence, J. Lee, D. Padua, Y. Paek, W. Pottenger, L. Rauchwerger, and P. Tu. Parallel Programming with Polaris. IEEE Computer, 29(12):78–82, December 1996.
B. Creusillet and F. Irigoin. Interprocedural Array Region Analyses. In Lecture Notes in Computer Science. Springer Verlag, New York, New York, August 1995.
R. Eigenmann, J. Hoeflinger, and D. Padua. On the Automatic Parallelization of the Perfect Benchmarks. IEEE Transactions on Parallel and Distributed Systems, pages 5–23, January 1998.
G. Goff, K. Kennedy, and C. Tseng. Practical Dependence Testing. In Proceedings of the ACM SIGPLAN 91 Conference on Programming Language Design and Implementation, pages 15–29, June 1991.
P. Havlak and K. Kennedy. An Implementation of Interprocedural Bounded Regular Section Analysis. IEEE Transactions on Parallel and Distributed Systems, 2(3):350–360, July 1991.
J. Hoeflinger. Interprocedural Parallelization Using Memory Classification Analysis. PhD thesis, Univ. of Illinois at Urbana-Champaign, Dept. of Computer Science, August, 1998.
Z. Li, P. Yew, and C. Zhu. An Efficient Data Dependence Analysis for Parallelizing Compilers. IEEE Transactions on Parallel and Distributed Systems, 1(1):26–34, January 1990.
Y. Paek. Automatic Parallelization for Distributed Memory Machines Based on Access Region Analysis PhD thesis, Univ. of Illinois at Urbana-Champaign, Dept. of Computer Science, April 1997.
Y. Paek, J. Hoeflinger, and D. Padua. Simplification of Array Access Patterns for Compiler Optimizations. Proceedings of the SIGPLAN Conference on Programming Language Design and Implementation, June 1998.
W. Pugh. A Practical Algorithm for Exact Array Dependence Analysis. Communications of the ACM, 35(8), August 1992.
W. Pugh and D. Wonnacott. Nonlinear Array Dependence Analysis. Technical Report 123, Univ of Maryland at College Park, November 1994.
P. Tang. Exact Side Effects for Interprocedural Dependence Analysis. In 1993 ACM International Conference on Supercomputing, Tokyo, Japan, pages 137–146, July 1993.
M. Wolfe. High Performance Compilers for Parallel Computing. Addison-Wesley Publishing Co., New York, 1996.
M. Wolfe and C. Tseng. The Power Test for Data Dependence. IEEE Transactions on Parallel and Distributed Systems, September 1992.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2000 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Hoeflinger, J., Paek, Y. (2000). The Access Region Test. In: Carter, L., Ferrante, J. (eds) Languages and Compilers for Parallel Computing. LCPC 1999. Lecture Notes in Computer Science, vol 1863. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-44905-1_17
Download citation
DOI: https://doi.org/10.1007/3-540-44905-1_17
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-67858-8
Online ISBN: 978-3-540-44905-8
eBook Packages: Springer Book Archive