Program Partitioning

  • Utpal Banerjee


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.


Dependence Graph Distance Vector Loop Nest Index Point Execution Order 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Copyright information

© Springer Science+Business Media New York 1994

Authors and Affiliations

  • Utpal Banerjee
    • 1
  1. 1.Intel CorporationUSA

Personalised recommendations