Abstract
Two types of parallel loops suggested in the literature are DOALL, which describes a totally parallel loop (no dependence between iterations), and DOACROSS, which supports parallelism in loops with dependences between iterations by “delaying” execution of subsequent iterations. Limiting ourselves to the classical parallel loops essentially restricts us to parallel algorithms which correspond to simply-parallelized sequential algorithms, which inhibits any compiler restructuring that might vary from the sequential semantics. We propose a new parallel loop type, which we call a DOANY loop, and show by example how it is useful for specifying and restructuring parallel algorithms.
This is a preview of subscription content, log in via an institution.
Preview
Unable to display preview. Download preview PDF.
References
Randy Allen, David Callahan, and Ken Kennedy. Automatic decomposition of scientific programs for parallel execution. In Conf. Record 14th Annual ACM Symp. on Principles of Programming Languages, pages 63–76, Munich, Germany, January 1987.
Monica Beltrametti, Kenneth Bobey, and John R. Zorbas. The control mechanism for the Myrias parallel computer system. Computer Architecture News, 16(4):21–30, September 1988.
Ron Cytron. Doacross: Beyond vectorization for multiprocessors. In Proc. 1986 International Conf. on Parallel Processing, pages 836–844, St. Charles, IL, August 1986.
P. J. Eberlein. On using the jacobi method on the hypercube. In Michael T. Heath, editor, Hypercube Multiprocessors 1987, pages 605–611. SIAM Press, Philadelphia, January 1987.
Dennis Gannon, William Jalby, and Kyle Gallivan. Strategies for cache and local memory management by global program t ransformation. J. Parallel and Distributed Computing, 5(5):587–616, October 1988.
S. F. Lundstrom and G. H. Barnes. Controllable mimd architecture. In Proc. 1980 International Conf. on Parallel Processing, pages 19–27, St. Charles, IL, August 1980.
Parallel Computing Forum. PCF Parallel Fortran extensions. Fortran Forum, 10(3), September 1991. (special issue).
William H. Press, Brian P. Flannery, Saul A. Teukolsky, and William T. Vetterling. Numerical Recipes in C. Cambridge Univ. Press, Cambridge, 1988.
Constantine D. Polychronopoulos. Parallel Programming and Compilers. Kluwer Academic Publishers, Boston, 1988.
Sequent Computer Corp. Guide to Parallel Programming. Sequent, Beaverton, OR, 1986.
Michael Wolfe. Loop skewing: The wavefront method revisited. International J. Parallel Programming, 15(4):279–294, August 1986.
Michael Wolfe. Multiprocessor synchronization for concurrent loops. IEEE Software, 5(1):23–32, January 1988.
Michael Wolfe. More iteration space tiling. In Proc. of Supercomputing '89, pages 655–664, Reno, NV, November 1989.
Michael Wolfe. The Tiny loop restructuring research tool. In Proc. 1991 International Conf. on Parallel Processing, volume II, pages 46–53, St. Charles, IL, August 1991. Penn State Press.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1993 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Wolfe, M. (1993). Doany: Not just another parallel loop. 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_62
Download citation
DOI: https://doi.org/10.1007/3-540-57502-2_62
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