Automatic SIMD vectorization for Haskell

  • Authors:
  • Leaf Petersen;Dominic Orchard;Neal Glew

  • Affiliations:
  • Intel Corporation, Santa Clara, CA, USA;University of Cambridge, Cambridge, United Kingdom;Intel Corporation, Santa Clara, CA, USA

  • Venue:
  • Proceedings of the 18th ACM SIGPLAN international conference on Functional programming
  • Year:
  • 2013

Quantified Score

Hi-index 0.00

Visualization

Abstract

Expressing algorithms using immutable arrays greatly simplifies the challenges of automatic SIMD vectorization, since several important classes of dependency violations cannot occur. The Haskell programming language provides libraries for programming with immutable arrays, and compiler support for optimizing them to eliminate the overhead of intermediate temporary arrays. We describe an implementation of automatic SIMD vectorization in a Haskell compiler which gives substantial vector speedups for a range of programs written in a natural programming style. We compare performance with that of programs compiled by the Glasgow Haskell Compiler.