𝔖 Bobbio Scriptorium
✦   LIBER   ✦

Efficient Computation of Address Sequences in Data Parallel Programs Using Closed Forms for Basis Vectors

✍ Scribed by Ashwath Thirumalai; J. Ramanujam


Publisher
Elsevier Science
Year
1996
Tongue
English
Weight
429 KB
Volume
38
Category
Article
ISSN
0743-7315

No coin nor oath required. For personal study only.

✦ Synopsis


Arrays are mapped to processors through a two-step process-alignment followed by distribution-in data-parallel languages such as High Performance Fortran. This process of mapping creates disjoint pieces of the array that are locally owned by each processor. An HPF compiler that generates code for array statements must compute the sequence of local memory addresses accessed by each processor and the sequence of sends and receives for a given processor to access nonlocal data. In this paper, we present an approach to the address sequence generation problem using the theory of integer lattices. The set of elements referenced can be generated by integer linear combinations of basis vectors. Unlike other work on this problem, we derive closed form expressions for the basis vectors as a function of the mapping of data. Using these basis vectors and exploiting the fact that there is a repeating pattern in the access sequence, we derive highly optimized code that generates the pattern at runtime. The code generated uses table-lookup of the pattern. Experimental results show that our approach is faster than other solutions to this problem.