Regions: an abstraction for expressing array computation

  • Authors:
  • Bradford L. Chamberlain;E. Christopher Lewis;Calvin Lin;Lawrence Snyder

  • Affiliations:
  • University of Washington, Seattle, WA;University of Washington, Seattle, WA;University of Texas, Austin, TX;University of Washington, Seattle, WA

  • Venue:
  • Proceedings of the conference on APL '99 : On track to the 21st century: On track to the 21st century
  • Year:
  • 1998

Quantified Score

Hi-index 0.00

Visualization

Abstract

Most array languages, including Fortran 90, Matlab, and APL, provide support for referencing arrays by extending the traditional array subscripting construct found in scalar languages. We present an alternative to subscripting that exploits the concept of regions---an index set representation that can be named, manipulated with high-level operators, and syntactically separated from array references. This paper develops the concept of region-based programming and describes its benefits in the context of an idealized array language called RL. We show that regions simplify programming, reduce the likelihood of errors, and enable code reuse. Furthermore, we describe how regions accentuate the locality of array expressions and how this locality is important when targeting parallel computers. We also show how the concepts of region-based programming have been used in ZPL, a fully-implemented practical parallel programming language in use by scientists and engineers. In addition, we contrast region-based programming with the array reference constructs of other array languages.