Subscribe
Issue No.03 - March (2000 vol.26)
pp: 262-275
ABSTRACT
<p><b>Abstract</b>—Automatic extraction of parallelism from algorithms, and the consequent parallel code generation, is a challenging problem. In this work, we present a procedure for automatic parallel code generation in the case of algorithms described through Set of Affine Recurrence Equations (SARE); starting from the original SARE description in an <it>N</it>-dimensional iteration space, the algorithm is converted into a parallel code for an (eventually virtual) <it>m</it>-dimensional distributed memory parallel machine (<tmath>$m<N$</tmath>). In the paper, we demonstrate some theorems which are the mathematical basis for the proposed parallel generation tool. The projection technique used in the tool is based on the polytope model. Some affine transformations are introduced to project the polytope from the original iteration space onto another polytope, preserving the SARE semantic, in the processor-time <tmath>$({\rm t,p})$</tmath> space. Points in <tmath>$({\rm t,p})$</tmath> are individuated through the <it>m</it>-dimensional <it>p</it> coordinate and the <it>n</it>-dimensional <it>t</it> coordinate, resulting in <tmath>$N=n+m$</tmath>. Along with polytope transformation, a methodology to generate the code within processors is given. Finally, a cost function, used to guide the heuristic search for the polytope transformation and derived from the actual implementation of the method on an MPP SIMD machine, is introduced.</p>
INDEX TERMS
Automatic parallelization, polytope model, affine functions, n-dimensional projection, SARE.
CITATION
Alessandro Marongiu, Paolo Palazzari, "Automatic Mapping of System of N-Dimensional Affine Recurrence Equations (SARE) onto Distributed Memory Parallel Systems", IEEE Transactions on Software Engineering, vol.26, no. 3, pp. 262-275, March 2000, doi:10.1109/32.842951