O'Reilly logo

Automatic Parallelization by Samuel P. Midkiff

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

CHAPTER 5

Transformation of iterative and recursive constructs

The dependence information gathered using the techniques of Chapter 2 can be used to determine the legality, and sometimes the utility, of a variety of transformations on loops. Many of the transformation we now discuss have as their primary goal improving program performance instead of transforming programs to a form that is easier to parallelize.

5.1 LOOP BLOCKING OR STRIP MINING

Loop blocking is used break the iteration space of a loop into blocks of contiguous iterations. The two primary uses for loop blocking are (i) to split loops up into chunks of computation that can be executed as single vector instruction, and (ii) as one step in performing loop tiling (see Section 5.6

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required