[PDF][PDF] Scanning polyhedra with DO loops

C Ancourt, F Irigoin - Proceedings of the third ACM SIGPLAN symposium …, 1991 - dl.acm.org
Proceedings of the third ACM SIGPLAN symposium on Principles and practice of …, 1991dl.acm.org
Supercompilers perform complex program transformations which often result in new loop
bounds. This paper shows that, under the usual assumptions in automatic parallelization,
most transformations on loop nests can be expressed as affine transformations on integer
sets defined by polyhedra and that the new loop bounds can be computed with algorithms
using Fourier's pairwise elimination method although it is not exact for integer sets. Sufficient
conditions to use pairivise elimination on integer sets and to extend it to pseudo-linear …
Abstract
Supercompilers perform complex program transformations which often result in new loop bounds. This paper shows that, under the usual assumptions in automatic parallelization, most transformations on loop nests can be expressed as affine transformations on integer sets defined by polyhedra and that the new loop bounds can be computed with algorithms using Fourier’s pairwise elimination method although it is not exact for integer sets. Sufficient conditions to use pairivise elimination on integer sets and to extend it to pseudo-linear constraints are also given. A tradeoff has to be made between dynamic overhead due to some bound slackness and compilation complexity but the resulting code is always correct. These algorithms can be used to interchange or block loops regardless of the loop bounds or the blocking strategy and to safely exchange array parts between two levela of a memory hierarchy or between neighboring processors in a distributed memory machine.
ACM Digital Library