Access normalization: loop restructuring for NUMA computers

  • Authors:
  • Wei Li;Keshav Pingali

  • Affiliations:
  • -;-

  • Venue:
  • ACM Transactions on Computer Systems (TOCS)
  • Year:
  • 1993

Quantified Score

Hi-index 0.01

Visualization

Abstract

In scalable parallel machines, processors can make local memory accesses much faster than they can make remote memory accesses. Additionally, when a number of remote accesses must be made, it is usually more efficient to use block transfers of data rather than to use many small messages. To run well on such machines, software must exploit these features. We believe it is too onerous for a programmer to do this by hand, so we have been exploring the use of restructuring compiler technology for this purpose. In this article, we start with a language like HPF-Fortran with user-specified data distribution and develop a systematic loop transformation strategy called access normalization that restructures loop nests to exploit locality and block transfers. We demonstrate the power of our techniques using routines from the BLAS (Basic Linear Algebra Subprograms) library. An important feature of our approach is that we model loop transformation using invertible matrices and integer lattice theory.