Advertisement

The Access Region Test

  • Jay Hoeflinger
  • Yunheung Paek
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 1863)

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.

Keywords

Memory Location Dependence Analysis Access Region Loop Index Classi Cation 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    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.Google Scholar
  2. 2.
    U. Banerjee. Dependence Analysis. Kluwer Academic Publishers, Norwell, MA, 1997.zbMATHGoogle Scholar
  3. 3.
    W. Blume. Symbolic Analysis Techniques for Effective Automatic Parallelization. PhD thesis, Univ. of Illinois at Urbana-Champaign, Dept. of Computer Science, June 1995.Google Scholar
  4. 4.
    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.Google Scholar
  5. 5.
    B. Creusillet and F. Irigoin. Interprocedural Array Region Analyses. In Lecture Notes in Computer Science. Springer Verlag, New York, New York, August 1995.Google Scholar
  6. 6.
    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.Google Scholar
  7. 7.
    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.Google Scholar
  8. 8.
    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.Google Scholar
  9. 9.
    J. Hoeflinger. Interprocedural Parallelization Using Memory Classification Analysis. PhD thesis, Univ. of Illinois at Urbana-Champaign, Dept. of Computer Science, August, 1998.Google Scholar
  10. 10.
    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.Google Scholar
  11. 11.
    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.Google Scholar
  12. 12.
    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.Google Scholar
  13. 13.
    W. Pugh. A Practical Algorithm for Exact Array Dependence Analysis. Communications of the ACM, 35(8), August 1992.Google Scholar
  14. 14.
    W. Pugh and D. Wonnacott. Nonlinear Array Dependence Analysis. Technical Report 123, Univ of Maryland at College Park, November 1994.Google Scholar
  15. 15.
    P. Tang. Exact Side Effects for Interprocedural Dependence Analysis. In 1993 ACM International Conference on Supercomputing, Tokyo, Japan, pages 137–146, July 1993.Google Scholar
  16. 16.
    M. Wolfe. High Performance Compilers for Parallel Computing. Addison-Wesley Publishing Co., New York, 1996.zbMATHGoogle Scholar
  17. 17.
    M. Wolfe and C. Tseng. The Power Test for Data Dependence. IEEE Transactions on Parallel and Distributed Systems, September 1992.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2000

Authors and Affiliations

  • Jay Hoeflinger
    • 1
  • Yunheung Paek
    • 2
  1. 1.Center for Simulation of Advanced RocketsUniversity of Illinois at Urbana-ChampaignKorea
  2. 2.Department of Electrical EngineeringKorea Advanced Institute of Science & TechnologyKorea

Personalised recommendations