Skip to main content

Automatic SIMD vectorization for Haskell

Petersen, Leaf and Orchard, Dominic and Glew, Neal (2013) Automatic SIMD vectorization for Haskell. In: Proceedings of the 18th ACM SIGPLAN international conference on Functional programming. ICFP International Conference on Functional Programming . ACM, New York, USA, pp. 25-36. ISBN 978-1-4503-2326-0. (doi:10.1145/2500365.2500605) (KAR id:57494)

PDF Publisher pdf
Language: English
Download (246kB) Preview
Official URL


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 arange of programs written in a natural programming style. We compare performance with that of programs compiled by the Glasgow Haskell Compiler

Item Type: Book section
DOI/Identification number: 10.1145/2500365.2500605
Uncontrolled keywords: Vectorization, SIMD, Compiler Optimization, Haskell, Functional Languages
Subjects: Q Science > QA Mathematics (inc Computing science)
Divisions: Faculties > Sciences > School of Computing > Programming Languages and Systems Group
Depositing User: Dominic Orchard
Date Deposited: 05 May 2017 13:27 UTC
Last Modified: 23 Sep 2019 11:07 UTC
Resource URI: (The current URI for this page, for reference purposes)
Orchard, Dominic:
  • Depositors only (login required):


Downloads per month over past year