A linear-time algorithm for computing the memory access sequence in data-parallel programs

  • Authors:
  • Ken Kennedy;Nenad Nedeljkovic;Ajay Sethi

  • Affiliations:
  • Center for Research on Parallel Computation, Department of Computer Science, Rice University;Center for Research on Parallel Computation, Department of Computer Science, Rice University;Center for Research on Parallel Computation, Department of Computer Science, Rice University

  • Venue:
  • PPOPP '95 Proceedings of the fifth ACM SIGPLAN symposium on Principles and practice of parallel programming
  • Year:
  • 1995

Quantified Score

Hi-index 0.00

Visualization

Abstract

Data-parallel languages, such as High Performance Fortran, are widely regarded as a promising means for writing portable programs for distributed-memory machines. Novel features of these languages call for the development of new techniques in both compilers and run-time systems. In this paper, we present an improved algorithm for finding the local memory access sequence in computations involving regular sections of arrays with cyclic(k) distributions. After establishing the fact that regular section indices correspond to elements of an integer lattice, we show how to find a lattice basis that allows for simple and fast enumeration of memory accesses. The complexity of our algorithm is shown to be lower than that of the previous solution for the same problem. In addition, the experimental results demonstrate the efficiency of our method in practice.