skip to main content
article
Free Access

On optimal loop parallelization

Authors Info & Claims
Published:01 August 1989Publication History
Skip Abstract Section

Abstract

The problem of automatic loop parallelization has received a lot of attention in the area of parallelizing compilers. Automatic loop parallelization can be achieved by several algorithms. In this paper we address the problem of time optimal parallelization of loops with conditional jumps. We prove that even for machines with unlimited resources there are simple loops for which no semantically and algorithmically equivalent time optimal program exists.

References

  1. 1 Adam T.L., Chandy K.M ., and Dickson J .R. A comparaison of list schedules for parallel processing systems. Communications of the ACM, 17( 12):685-690, December 1974. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. 2 Aiken A. and Nicolau A. A development environment for horizontal microcode. IEEE Transactions on Software Engineering, 14(5):584-594, May 1988. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. 3 Aiken A. and Nicolau A. Optimal loop parallelization. In Proceedings of the SIGPLAN 1988 Conference on Programming Language Design and Implementation, pages 308-317, ACM, 1988. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. 4 Aiken A. and Nicolau A. Perfect pipelining: a new loop parallelization technique. In European Symposium on Programming, pages 221-235, Springer-Verlag, Lecture notes in Computer Science No. 300, June 1988. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. 5 Allen R. and Kennedy K. Automatic translation of Fortran programs to vector form. ACM Transactions on Programming Languages and Systems, 9(4):491-542, October 1987. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. 6 Coffman E.G. Computer and Job-shop Scheduling Theory. John Wiley and Sons, 1976.Google ScholarGoogle Scholar
  7. 7 Cytron R. Doacross: beyond vectorization for multiprocessors. In International Conference on Parallel Processing, pages 836-844, IEEE, August 1986.Google ScholarGoogle Scholar
  8. 8 Ebcioglu K. Some design ideas for a VLIW architecture for sequential-natured software. In Proceedings of the IFIP WG 10.3 Working Conference on Parallel Processing, pages 1-21, North- Holland, April 1988.Google ScholarGoogle Scholar
  9. 9 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, 9(3):319-349, July 1987. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. 10 Fisher J.A. Trace scheduling: a technique for global microcode compaction. IEEE Transactions on Computers, C-30(7):478-490, July 1981.Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. 11 Fisher J.A. The VLIW machine: a multiprocessor for compiling scientific code. IEEE Computer, 17(7):45-53, July 1984.Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. 12 Foster C.C. and Riseman E.M. Percolation of code to enhance parallel dispatching and execution. IEEE Transactions on Computers, C- 21(12):1411-1415, December 1972.Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. 13 Garey M.R. and Johnson D.S. Computers and Intractability - A Guide to the Theory of NP- Completeness. Freeman, 1979. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. 14 Lam M. Software pipelining: an effective scheduling technique for VLIW machines. In Proceedings of the SIGPLAN 1988 Conference on Programming Language Design and Implementation, pages 318-328, ACM, June 1988. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. 15 Padua D.A., Kuck D.J. and Lawrie D.H. Highspeed multiprocessors and compilation techniques. IEEE Transactions on Computers, C- 29(9):763-776, September 1980.Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. 16 Padua D. A. and Wolfe M. J. Advanced compiler optimizations for supercomputers. Communications of the ACM, 29(12):1184-1201, December 1986. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. 17 Polychronopoulos C.D. Parallel Programming and Compilers. Kluwer Academic Publishers, 1988. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. 18 Riseman E.M. and Foster C.C. The inhibition of potential parallelism by conditional jumps. IEEE Transactions on Computers, C-21(12):1405-1411, December 1972.Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. 19 Uht A.K. Requirements for optimal execution of loops with tests. In 1988 ACM International Conference on Supercomputing, ACM, July 1988. St. Malo, France. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. On optimal loop parallelization

          Recommendations

          Comments

          Login options

          Check if you have access through your login credentials or your institution to get full access on this article.

          Sign in

          Full Access

          • Published in

            cover image ACM SIGMICRO Newsletter
            ACM SIGMICRO Newsletter  Volume 20, Issue 3
            Sep. 1989
            253 pages
            ISSN:1050-916X
            DOI:10.1145/75395
            Issue’s Table of Contents
            • cover image ACM Conferences
              MICRO 22: Proceedings of the 22nd annual workshop on Microprogramming and microarchitecture
              August 1989
              253 pages
              ISBN:0897913248
              DOI:10.1145/75362

            Copyright © 1989 Authors

            Publisher

            Association for Computing Machinery

            New York, NY, United States

            Publication History

            • Published: 1 August 1989

            Check for updates

            Qualifiers

            • article

          PDF Format

          View or Download as a PDF file.

          PDF

          eReader

          View online with eReader.

          eReader
          About Cookies On This Site

          We use cookies to ensure that we give you the best experience on our website.

          Learn more

          Got it!