Align and distribute-based linear loop transformations

  • Jordi Torres
  • Eduard Ayguadé
  • Jesús Labarta
  • Mateo Valero
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 768)

Abstract

In this paper we generalize the framework of linear loop transformations in the sense that loop alignment is considered as a new component in the transformation process. The aim is to match the structure of loop nests with the data distribution and alignment in order to eliminate non-local references whenever possible when compiling a sequential program for a distributed memory machine. The alignment and distribution functions are assumed to be user specified or automatically generated by the compiler. The transformation process is modelled with non-singular matrices and we use the ideas recently proposed in this field to find part of the transformation matrix and generate an efficient transformed code. However, additional aspects have to be studied when the alignment and distribution functions are considered, both in the obtaining of the transformation matrix and in the generation of code.

Keywords

Transformation Matrix Iteration Space Loop Index Loop Body Alignment Component 
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.
    Polychronopoulos C., Parallel Programming and Compilers, Kluwer Academic Publishers, 1988.Google Scholar
  2. 2.
    Wolfe M., Optimizing Supercompilers for Supercomputers, The MIT Press, 1989.Google Scholar
  3. 3.
    Fox G. et al., Fortran-D Language Specification, Technical Report TR90-140, Dept. of Computer Science, Rice University, revised January 1992.Google Scholar
  4. 4.
    David Loveman (ed.), Draft High Performance Fortran Language Specification Version 1.0, Technical Report TR92-225, CRPC, Rice University, January 1993.Google Scholar
  5. 5.
    Callahan D. and Kennedy K., Compiling Programs for Distributed-Memory Multiprocessors, Journal of Supercomputing, vol. 2, no. 2, October 1988.Google Scholar
  6. 6.
    Hiranandani S., Kennedy K. and Tseng C., Evaluation of Compiler Optimizations for Fortran D on MIMD Distributed-Memory Machines, in Proceedings of the 1992 ACM International Conference on Supercomputing, July 1992.Google Scholar
  7. 7.
    Karp A.H., Programming for Parallelism, Computer, vol. 20, no. 5, May 1987.Google Scholar
  8. 8.
    Banerjee U., Unimodular Transformations of Double Loops, chapter 10 of Advances in Languages and Compilers for Parallel Processing, The MIT Press, 1991.Google Scholar
  9. 9.
    Wolf M.E. and Lam M.S., A Loop Transformation Theory and an Algorithm to Maximize Parallelism, IEEE Transactions on Parallel and Distributed Systems, vol. 2, no. 4, October 1991.Google Scholar
  10. 10.
    Wolf M.E. and Lam M., A Data Locality Optimizing Algorithm, in Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation, June 1991.Google Scholar
  11. 11.
    Li W. and Pingali K., Access Normalization: Loop Restructuring for NUMA Compilers, in Proceedings of the Fifth Int. Conference on Architectural Support for Programming Languages and Operating Systems, October 1992.Google Scholar
  12. 12.
    Li W. and Pingali K., A Singular Loop Transformation Framework Based on Non-Singular Matrices, in Proceedings of the Fifth Workshop on Languages and Compilers for Parallel Computers, August 1992.Google Scholar
  13. 13.
    Fernández A., Systematic Transformation of Systolic Algorithms for Programming Distributed Memory Multiprocessors, Ph.D. Thesis, Department of Computer Architecture, Polytechnic University of Catalunya (Spain), November 1992.Google Scholar
  14. 14.
    Ramanujam J., Non-unimodular Transformations of Nested Loops, in Proceedings of the Supercomputing'92, November 1992.Google Scholar
  15. 15.
    Padua D.A., Multiprocessors: Discussions of some theoretical and practical problems, Technical Report DCS UIUCDCS-R-79-990, Ph.D. dissertation, University of Illinois at Urbana-Champaign, November 1979.Google Scholar
  16. 16.
    Peir J-K., Program Partitioning and Synchronization on Multiprocessor Systems, Ph.D. Thesis, University of Illinois at Urbana-Champaign, 1986.Google Scholar
  17. 17.
    Allen R., Callahan D. and Kennedy K., Automatic Decomposition of Scientific Programs for Parallel Execution, in Proceedings of the 14th ACM Symposium Principles of Programming Languages, January 1987.Google Scholar
  18. 18.
    Banerjee U., Dependence Analysis for Supercomputing, Kluwer Academic Publishers, 1988.Google Scholar
  19. 19.
    Kennedy K. and Kremer U., Automatic Data Alignment and Distribution for Loosely Synchronous Problems in an Interactive Programming Environment, Technical Report TR91-155, Dept. of Computer Science, Rice University, April 1991.Google Scholar
  20. 20.
    Li J., Compiling Crystal for Distributed-Memory Machines, Ph.D. Thesis, Dep. of Computer Science, Yale University, December 1991.Google Scholar
  21. 21.
    Moldovan D.I. and Fortes J.A.B., Partitioning and Mapping Algorithms into Fixed Size Systolic Arrays, IEEE Transactions on Computers, vol. 35, no. 1, January 1986.Google Scholar
  22. 22.
    Lu L. and Chen M., New Loop Transformation Techniques for Massive Parallelism, Research Report TR-833, Department of Computer Science, Yale University, October 1990.Google Scholar
  23. 23.
    Schrijver A., Theory of Linear and Integer Programming, John Wiley and Sons, 1986.Google Scholar
  24. 24.
    Ayguadé E. and Torres J., Partitioning the Statement per Iteration Space Using Non-singular Matrices, in Proceedings of the 1993 ACM International Conference on Supercomputing, July 1993.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1994

Authors and Affiliations

  • Jordi Torres
    • 1
  • Eduard Ayguadé
    • 1
  • Jesús Labarta
    • 1
  • Mateo Valero
    • 1
  1. 1.Departament d'Arquitectura de ComputadorsUniversitat Politècnica de Catalunya Campus NordBarcelonaSpain

Personalised recommendations