Access normalization: loop restructuring for NUMA compilers

  • Authors:
  • Wei Li;Keshav Pingali

  • Affiliations:
  • -;-

  • Venue:
  • ASPLOS V Proceedings of the fifth international conference on Architectural support for programming languages and operating systems
  • Year:
  • 1992

Quantified Score

Hi-index 0.00

Visualization

Abstract

In scalable parallel machines, processors can make local memory accesses much faster than they can make remote memory accesses. In addition, 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 tecnology for this purpose. In this paper, we start with a language like FORTRAN-D 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 transformations using invertible matrices and integer lattice theory, thereby generalizing Banerjee's framework of unimodular matrices [5].