Synonyms
Definition
Loop Nest Parallelization refers to the problem of finding parallelism in a perfect nest of sequential loops. It typically deals with transformations that change the execution order of iterations of such a nest L by creating a different nest L ′, such that L ′ is equivalent to L and some of its loops can run in parallel.
Discussion
Introduction
For a better understanding of the current essay, the reader should first go through the essay Unimodular Transformations in this encyclopedia.
The program model is a perfect nest L of m sequential loops. An iteration of L is an instance of the body of L. The program consists of a certain set of iterations that are to be executed in a certain sequential order. This execution order imposes a dependence structure on the set of iterations, based on how they access different memory locations. A loop in L carries a dependence if the dependence between two iterations is due to the unfolding of that loop. A loop can ru...
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsBibliography
Banerjee U (1990) Unimodular transformations of double loops. In: Proceedings of the third workshop on languages and compilers for parallel computing, Irvine, 1–3 August 1990. Available as Nicolau A, Gelernter D, Gross T, Padua D (eds) (1991) Advances in languages and compilers for parallel computing. MIT, Cambridge, pp 192–219
Banerjee U (1993) Loop transformations for restructuring compilers: the foundations. Kluwer Academic, Norwell
Banerjee U (1994) Loop transformations for restructuring compilers: loop parallelization. Kluwer Academic, Norwell
D’Hollander EH (July 1992) Partitioning and labeling of loops by unimodular transformations. IEEE Trans Parallel Distrib Syst 3(4):465–476
Dowling ML (Dec 1990) Optimal code parallelization using unimodular transformations. Parallel Comput 16(2–3):157–171
Irigoin F, Triolet R (Jan 1988) Supernode partitioning. In: Proceedings of 15th annual ACM SIGACT-SIGPLAN symposium on principles of programming languages, San Diego, pp 319–329
Irigoin F, Triolet R (1989) Dependence approximation and global parallel code generation for nested loops. Parallel Distrib Algorithms (Cosnard M et al. eds), Elsivier (North-Holland), New York, pp 297–308
Lamport L (Feb 1974) The parallel execution of DO loops. Commun ACM 17(2):83–93
Padua DA (Nov 1979) Multiprocessors: discussions of some theoretical and practical problems. PhD thesis, Report 79-990, Department of Computer Science, University of Illinois at Urbana-Champaign, Urbana
Peir J-K, Cytron R (Aug 1989) Minimum distance: a method for partitioning recurrences for multiprocessors. IEEE Trans Comput C-38(8):1203–1211
Polychronopoulos CD (Aug 1988) Compiler optimizations for enhancing parallelism and their impact on architecture design. IEEE Trans Comput C-37(8):991–1004
Shang W, Fortes JAB (June 1991) Time optimal linear schedules for algorithms with uniform dependences. IEEE Trans Comput 40(6):723–742
Wolf ME, Lam MS (Oct 1991) A loop transformation theory and an algorithm to maximize parallelism. IEEE Trans Parallel Distrib Syst 2(4):452–471
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2011 Springer Science+Business Media, LLC
About this entry
Cite this entry
Banerjee, U. (2011). Loop Nest Parallelization. In: Padua, D. (eds) Encyclopedia of Parallel Computing. Springer, Boston, MA. https://doi.org/10.1007/978-0-387-09766-4_228
Download citation
DOI: https://doi.org/10.1007/978-0-387-09766-4_228
Publisher Name: Springer, Boston, MA
Print ISBN: 978-0-387-09765-7
Online ISBN: 978-0-387-09766-4
eBook Packages: Computer ScienceReference Module Computer Science and Engineering