A symmetry-based formalism for array subtyping

  • Authors:
  • A. Shafarenko

  • Affiliations:
  • University of Hertfordshire, Hatfield, England

  • Venue:
  • APL '00 Proceedings of the international conference on APL-Berlin-2000 conference
  • Year:
  • 2000

Quantified Score

Hi-index 0.00

Visualization

Abstract

This paper presents an array algebra based on the concept of symmetry. The symmetries taken into account are translational, affine and polyhedral symmetry as well as the access symmetry inherent in distributed arrays. The full set of data-parallel array operations is represented in terms of four fundamental skeletons: Map, Juxtapose, Select, and Concatenate; which are strongly typed and overloaded for all combinations of operand symmetries. A hierarchy of three further skeletons are used as parameters to Map in order to express reductions: commutative-associative, associative but not commutative, and neither associative nor commutative. Any user-defined part of the computation is represented in the form of scalar functions as skeleton parameters, without any loss of generality. Successful type inference in the presence of subtyping is enabled by a homomorphism restriction imposed on all overloadings of the skeletons. As a result, we are able to infer the most symmetric type of any well-formed term, which is usually the cheapest one to compute.