PASTHA: parallelizing stencil calculations in Haskell

  • Authors:
  • Michael Lesniak

  • Affiliations:
  • University of Kassel, Kassel, Germany

  • Venue:
  • Proceedings of the 5th ACM SIGPLAN workshop on Declarative aspects of multicore programming
  • Year:
  • 2010

Quantified Score

Hi-index 0.02

Visualization

Abstract

Stencils are typical building blocks for many numerical scientific applications. Different parallelization methods exist, the choice of a method depends on the given stencil, parallel programming system etc. Implementing stencils in a library simplifies application programming, allows to experiment with different parallelization methods, and supports their automatic adaptation to a given stencil. This paper introduces PASTHA, a prototype for a Haskell library that allows to declaratively describe stencil-based problems and calculate them in parallel. The description is flexible enough to cover all 2D stencils we are aware of. Implementation is based on task queues and strict evaluation. We report on experiments with a Gauß-Seidel stencil, where we achieved speedups of up to 4 on six cores, and with global and local sequence scoring from the Haskell bioinformatics library bio. For local scoring, the running time was reduced by a factor of 55, which is partially due to PASTHA.