On scanning space-time mapped while loops

  • Martin Griebl
  • Christian Lengauer
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 854)

Abstract

The mathematical model for the parallelization, or “spacetime mapping”, of loop nests is the polyhedron model. The presence of while loops in the nest complicates matters because the parallelized loop nest does not correspond to a polyhedron but instead to a subset that resembles a (multi-dimensional) comb. This comb can take on shapes that make the precise enumeration of its points by any parallel target loop nest impossible. We describe how to augment the target loop code to scan a finite superset of the comb and restrict execution of the loop body to the points of the comb.

Keywords

loop parallelization parallelizing compilation space-time mapping while loop 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    M. Barnett and C. Lengauer. Unimodularity and the parallelization of loops. Parallel Processing Letters, 2(2–3):273–281, 1992.Google Scholar
  2. 2.
    J.-F. Collard. Code generation in automatic parallelizers. In C. Girault, editor, Proc. Int. Conf. on Applications in Parallel and Distributed Computing, IFIP W.G. 10.3, pages 185–194. North-Holland, April 1994.Google Scholar
  3. 3.
    J.-F. Collard. Space-time transformation of while-loops using speculative execution. In Proc. 1994 Scalable High Performance Computing Conf. IEEE Computer Society Press, May 1994.Google Scholar
  4. 4.
    E. W. Dijkstra and C. S. Scholten. Predicate Calculus and Program Semantics. Texts and Monographs in Computer Science. Springer-Verlag, 1990.Google Scholar
  5. 5.
    M. Griebl and C. Lengauer. A communication scheme for the distributed execution of while loops. Technical Report MIP-9406, Fakultät für Mathematik und Informatik, Universität Passau, May 1994.Google Scholar
  6. 6.
    M. Griebl and C. Lengauer. On the space-time mapping of WHILE-loops. Parallel Processing Letters, 1994. To appear. Also: Technical Report MIP-9304, Fakultät für Mathematik und Informatik, Universität Passau, July 1993.Google Scholar
  7. 7.
    R. M. Karp, R. E. Miller, and S. Winograd. The organization of computations for uniform recurrence equations. J. ACM, 14(3):563–590, July 1967.Google Scholar
  8. 8.
    C. Lengauer. Loop parallelization in the polytope model. In E. Best, editor, CONCUR'93, Lecture Notes in Computer Science 715, pages 398–416. Springer-Verlag, 1993.Google Scholar
  9. 9.
    P. Quinton. The systematic design of systolic arrays. In F. F. Soulié, Y. Robert, and M. Tchuente, editors, Automata Networks in Computer Science, chapter 9, pages 229–260. Manchester University Press, 1987. Also: Technical Reports 193 and 216, IRISA (INRIA-Rennes), 1983.Google Scholar
  10. 10.
    S. K. Rao and T. Kailath. Regular iterative algorithms and their implementations on processor arrays. Proc. IEEE, 76(3):259–282, March 1988.Google Scholar
  11. 11.
    P. P. Tirumalai, M. Lee, and M. S. Schlansker. Parallelization of while loops on pipelined architectures. J. of Supercomputing, 5:119–136, 1991.Google Scholar
  12. 12.
    Y. Wu and T. G. Lewis. Parallelizing while loops. In H. D. Schwetman, editor, Int. Conf. on Parallel Processing, volume II, pages 1–8. CRC Press, 1990.Google Scholar
  13. 13.
    J. Xue. Automating non-unimodular transformations of loop nests. Parallel Computing, 20(5):711–728, May 1994.Google Scholar

Copyright information

© Springer-Verlag 1994

Authors and Affiliations

  • Martin Griebl
    • 1
  • Christian Lengauer
    • 1
  1. 1.Fakultät für Mathematik und InformatikUniversität PassauPassauGermany

Personalised recommendations