Skip to main content
Kent Academic Repository

Efficient and Correct Stencil Computation via Pattern Matching and Static Typing

Orchard, Dominic A., Mycroft, Alan (2011) Efficient and Correct Stencil Computation via Pattern Matching and Static Typing. . pp. 68-92. (doi:10.4204/EPTCS.66.4) (KAR id:57497)

Abstract

Stencil computations, involving operations over the elements of an array, are a common programming pattern in scientific computing, games, and image processing. As a programming pattern, stencil computations are highly regular and amenable to optimisation and parallelisation. However, general-purpose languages obscure this regular pattern from the compiler, and even the programmer, preventing optimisation and obfuscating (in)correctness. This paper furthers our work on the Ypnos domain-specific language for stencil computations embedded in Haskell. Ypnos allows declarative, abstract specification of stencil computations, exposing the structure of a problem to the compiler and to the programmer via specialised syntax. In this paper we show the decidable safety guarantee that well-formed, well-typed Ypnos programs cannot index outside of array boundaries. Thus indexing in Ypnos is safe and run-time bounds checking can be eliminated. Program information is encoded as types, using the advanced type-system features of the Glasgow Haskell Compiler, with the safe-indexing invariant enforced at compile time via type checking.

Item Type: Article
DOI/Identification number: 10.4204/EPTCS.66.4
Divisions: Divisions > Division of Computing, Engineering and Mathematical Sciences > School of Computing
Depositing User: Dominic Orchard
Date Deposited: 05 May 2017 13:45 UTC
Last Modified: 24 Nov 2021 10:40 UTC
Resource URI: https://kar.kent.ac.uk/id/eprint/57497 (The current URI for this page, for reference purposes)

University of Kent Author Information

  • Depositors only (login required):

Total unique views for this document in KAR since July 2020. For more details click on the image.