Skip to main content

An efficient algorithm for optimal loop parallelization (extended abstract)

  • Conference paper
  • First Online:

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

Abstract

In this paper, we developed an efficient algorithm for obtaining a compact time-optimal schedule for loops without conditional branches. The running time of our algorithm is O(mn(p 2max +log(nLD))) where n (m) is the number of vertices (edges) in the associated data dependence graph, p max is the denominator of the maximum slope in its irreducible form, L is the maximum number of machine cycles it takes to execute a statement, and D is the maximum number of iterations spanned by a statement. When L and D are polynomially large in n, the running time becomes O(mn 3), which is the best result currently known.

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

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. A. Aiken and A. Nicolau, Optimal Loop Parallelization, in Proc. of the SIGPLAN '88 Conference on Programming Language Design and Implementation, 1988, 308–317.

    Google Scholar 

  2. R. Cytron, Doacross: Beyond vectorization for multiprocessors, in Proc. of the 1986 Int'l Conf. on Parallel Processing, Aug. 1986, 836–844.

    Google Scholar 

  3. K. Ebcioglu, A Compilation Technique for Software Pipelining of Loops with Conditional Jumps, in Proc. 20th Annual Workshop in Microprogramming, Dec. 1987, 69–79.

    Google Scholar 

  4. K. Iwano and K. Steiglitz, Testing for cycles in infinite graphs with periodic structure, in Proc. of 19th ACM Symposium on Theory of Computing, 46–55, 1987.

    Google Scholar 

  5. K. Iwano and S. Yeh, An Efficient Algorithm for Optimal Loop Parallelization, Research Report RT 0043, IBM Tokyo Research Laboratory, March, 1990.

    Google Scholar 

  6. R. M. Karp, A characterization of the minimum cycle mean in a digraph, Discrete Mathematics, 23(1978), 309–311.

    Google Scholar 

  7. M. Lam, Software Pipelining: An Effective Scheduling Technique for VLIW Machines, in Proc. of the SIGPLAN '88 Conference on Programming Language Design and Implementation, 1988, 318–328.

    Google Scholar 

  8. A. A. Munshi and B. Simons, Scheduling Sequential Loops on Parallel Processors, in Proc. 1987 Int'l. Conf. on Supercomputing, Lecture Notes in Computer Science, vol. 297, 392–415.

    Google Scholar 

  9. J. B. Orlin, Some problems on dynamic/periodic graphs, in Progress in Combinatorial Optimization, ed. W. R. Pulleyblank, 1984, Academic Press, Orlando, Florida.

    Google Scholar 

  10. J. B. Orlin and R. K. Ahuja, New scaling algorithms for assignment and minimum cycle mean problems, Sloan Working Paper 2019-88, Sloan School of Management, M.I.T., 1988.

    Google Scholar 

  11. B. R. Rau and C. D. Glaeser, Some Scheduling Techniques and an Easily Schedulable Horizontal Architecture for High Performance Scientific Computing, in Proc. 14th Annual Workshop on Micropramming, Dec. 1981, 183–198.

    Google Scholar 

  12. R. Reiter, Scheduling Parallel Computations, Journal ACM, 15 (1968), 59–599.

    Google Scholar 

  13. B. Su, S. Ding, and J. Xie, URPR — An Extension of URCR for Software Pipelining, in Proc. 19th Annual Workshop on Microprogramming, Oct. 1986, 94–103.

    Google Scholar 

  14. A. Zaky and P. Sadayappan, Optimal static scheduling of sequential loops on multiprocessors, in Proc. 18th International Conference on Parallel Processing, Aug. 1989, III-130–137.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Tetsuo Asano Toshihide Ibaraki Hiroshi Imai Takao Nishizeki

Rights and permissions

Reprints and permissions

Copyright information

© 1990 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Iwano, K., Yeh, S. (1990). An efficient algorithm for optimal loop parallelization (extended abstract). In: Asano, T., Ibaraki, T., Imai, H., Nishizeki, T. (eds) Algorithms. SIGAL 1990. Lecture Notes in Computer Science, vol 450. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-52921-7_69

Download citation

  • DOI: https://doi.org/10.1007/3-540-52921-7_69

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-52921-7

  • Online ISBN: 978-3-540-47177-6

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics