Maximizing parallelism and minimizing synchronization with affine partitions1

https://doi.org/10.1016/S0167-8191(98)00021-0Get rights and content
Under a Creative Commons license
open archive

Abstract

This paper presents an algorithm to find the optimal affine partitions that maximize the degree of parallelism and minimize the degree of synchronization in programs with arbitrary loop nestings and affine data accesses. The problem is formulated without the use of imprecise data dependence abstractions such as data dependence vectors. The algorithm presented subsumes previously proposed loop transformation algorithms that are based on unimodular transformations, loop distribution, fusion, scaling, reindexing, and statement reordering.

Keywords

Affine partitions
Affine transforms
Parallelizing compilers
Multiprocessors
Parallelism
Coarse granularity
Synchronization

Cited by (0)

1

A preliminary version of this paper appears in the 24th Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, Paris, France, Jan 1997 [26]. This research is supported in part by the Air Force Material Command and ARPA, contract F30602-95-C-0098, and an NSF Young Investigator award.

2

E-mail: [email protected]