Skip to main content

Determining transformation sequences for loop parallelization

  • Conference paper
  • First Online:
Languages and Compilers for Parallel Computing (LCPC 1992)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 757))

Abstract

Considerable research on loop parallelization for shared memory multiprocessors has focused upon developing transformations for removing loop-carried dependences. In many loops, more than one such transformation is required, and hence the choice of transformations and the order in which they are applied is critical.

In this paper, we present an algorithm for selecting a sequence of transformations which, applied to a given loop, will yield an equivalent maximally parallel loop.

The algorithms provided in the paper have been implemented and tested in PAT, a tool for interactive parallelization of Fortran.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Allen, R., Callahan, D., and Kennedy, K. Automatic decomposition of scientific programs for parallel execution. In Principles of Programming Languages (1987), pp. 63–76.

    Google Scholar 

  2. Appelbe, B., McDowell, C., and Smith, K. Start/pat: A parallel-programming toolkit. IEEE Software 6, 4 (July 1989), 29–38.

    Google Scholar 

  3. Appelbe, B., and Smith, K. Analyzing loops for parallelism. Tech. Rep. GIT-ICS-90/59, Georgia Institute of Technology, Nov. 1990.

    Google Scholar 

  4. Appelbe, B., and Smith, K. Determining transformation sequences for loop parallelization. Tech. Rep. GIT-ICS-92/59, Georgia Institute of Technology, Nov. 1992.

    Google Scholar 

  5. Balasundarum, V. Itereactive Parallelization of Numerical Scientific Programs. PhD thesis, Rice University, June 1989. Regular Sections summarize dependences in programs.

    Google Scholar 

  6. Callahan, D. A Global Approach to Detection of Parallelism. PhD thesis, Rice University, 1987. Rice Tech Report, COMP TR87-50.

    Google Scholar 

  7. Ferrante, J., Ottenstein, K. J., and Warren, J. D. The program dependence graph and its use in optimization. ACM Transactions on Programming Languages and Systems (1987).

    Google Scholar 

  8. Kennedy, K., and McKinley, K. Optimizing for parallelism and data locality. In International Conference on Supercomputing (July 1992), pp. 323–334.

    Google Scholar 

  9. Pugh, W. The omega test, a fast and practical integer programming algorithm for dependence analysis. In Supecomputing '91 (Nov. 1991), pp. 4–13.

    Google Scholar 

  10. Smith, K. S. PAT: An Interactive Fortran Parallelizing Assistant Tool. PhD thesis, Georgia Institute of Technology, December 1988.

    Google Scholar 

  11. Wolf, M. E., and Lam, M. S. A loop transformation theory and an algorithm to maximize parallelism. IEEE Transactions on Parallel and Distributed Systems 2, 4 (October 1991), 452–482.

    Google Scholar 

  12. Wolfe, M.Optimizing Supercompilers for Supercomputers. The MIT Press, Cambridge, Massachusetts, 1989.

    Google Scholar 

  13. Zima, H., and Chapman, B.Supercompilers for Parallel and Vector Computers. ACM Press, New York, New York, 1990.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Utpal Banerjee David Gelernter Alex Nicolau David Padua

Rights and permissions

Reprints and permissions

Copyright information

© 1993 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Appelbe, W., Smith, K. (1993). Determining transformation sequences for loop parallelization. In: Banerjee, U., Gelernter, D., Nicolau, A., Padua, D. (eds) Languages and Compilers for Parallel Computing. LCPC 1992. Lecture Notes in Computer Science, vol 757. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-57502-2_49

Download citation

  • DOI: https://doi.org/10.1007/3-540-57502-2_49

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-57502-3

  • Online ISBN: 978-3-540-48201-7

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics