Uniform techniques for loop optimization

44Citations
Citations of this article
23Readers
Mendeley users who have this article in their library.

Abstract

Many different kinds of loop transformations have been described, such as loop interchange, loop skewing and loop fusion. Each transformation requires its own particular set of dependence analysis tests and parallelizing a section of code may require performing a series of transformations. The only way to decide if there is a way of parallelizing a section of code is to try all possible sequences of transformations, which presents a difficult search problem. We present a uniform method of performing loop optimizations. Rather than optimizing a program by performing a murky search through a series of transformations, our method considers a very powerful class of program transformations that includes any transformation that also can be obtained by any sequence of standard loop transformations. This optimization technique uniformly encompasses the effects of parallelization, loop fusion, loop splitting, loop interchange, loop skewing and statement reordering, as well as transformations not previously described. Thus, we only need to perform one program transformation. We show that standard techniques for representing dependencies (dependence directions and dependence distances) are insufficient for this type of optimization and describe a more powerful technique, dependence relations, that have sufficient descriptive power.

Cite

CITATION STYLE

APA

Pugh, W. (1991). Uniform techniques for loop optimization. In Proceedings of the International Conference on Supercomputing (pp. 341–352). Association for Computing Machinery. https://doi.org/10.1145/109025.109108

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free