Efficient parallel stencil convolution in Haskell

Ben Lippmeier*, Gabriele Keller

*Corresponding author for this work

Research output: Contribution to journalArticleAcademicpeer-review

Abstract

Stencil convolution is a fundamental building block of many scientific and image processing algorithms. We present a declarative approach to writing such convolutions in Haskell that is both efficient at runtime and implicitly parallel. To achieve this we extend our prior work on the Repa array library with two new features: partitioned and cursored arrays. Combined with careful management of the interaction between GHC and its back-end code generator LLVM, we achieve performance comparable to the standard OpenCV library.

Original languageEnglish
Pages (from-to)59-70
Number of pages12
JournalACM SIGPLAN Notices
Volume46
Issue number12
DOIs
Publication statusPublished - 1 Dec 2011
Externally publishedYes

Keywords

  • Arrays
  • Data parallelism
  • Haskell

Fingerprint

Dive into the research topics of 'Efficient parallel stencil convolution in Haskell'. Together they form a unique fingerprint.

Cite this