Abstract
In Section 1.5, we talked briefly about two kinds of parallelism: horizontal and vertical, and the two types of partitions of the dependence graph that correspond to them. A vertical partition is represented by a mixed loop nest with an outer ring of doall loops, and a horizontal partition is represented by a mixed loop nest with two parts: an outer ring of do loops and an inner core of doall loops. In Chapters 2–4, we studied various loop transformations, and showed how they can be used to find equivalent programs with innermost or outermost parallel loops. Thus, we have already developed methods to display horizontal and vertical parallelism in a given loop nest. The aim of this chapter is to put these results in proper perspective. We will look at a partition separately from the loop nests that can represent it. It then becomes easier to compare different partitions of a given type, and understand how they are situated between the worst and the best partitions from the point of view of parallelization.
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 subscriptionsPreview
Unable to display preview. Download preview PDF.
Author information
Authors and Affiliations
Rights and permissions
Copyright information
© 1994 Springer Science+Business Media New York
About this chapter
Cite this chapter
Banerjee, U. (1994). Program Partitioning. In: Loop Parallelization. Springer, Boston, MA. https://doi.org/10.1007/978-1-4757-5676-0_5
Download citation
DOI: https://doi.org/10.1007/978-1-4757-5676-0_5
Publisher Name: Springer, Boston, MA
Print ISBN: 978-1-4419-5141-0
Online ISBN: 978-1-4757-5676-0
eBook Packages: Springer Book Archive