Accelerate

High-Performance Parallel Arrays for Haskell

Accelerate is a free, general-purpose, open-source library that simplifies the process of developing software that targets massively parallel architectures including multicore CPUs and GPUs.


Make it work, make it fast!

Accelerate is a language for array-based computations, designed to exploit massive parallelism. Programs in Accelerate are expressed in the form of collective operations on dense multi-dimensional arrays, which are online compiled and executed on a range of architectures including multicore CPUs and GPUs.

Interactive, real-time ray-tracer

Go to example

Be productive, be correct.

Embedded in the advanced functional programming language Haskell, Accelerate programs are declarative, statically-typed, pure, functional, and ready to exploit all of the performance of modern parallel hardware. The combination of a strong type system, high-level code, and interactive development environment, allows you to develop code quickly with the confidence that it is correct.

LULESH hydrodynamics mini-app

Go to example

The core philosophy of Accelerate is to combine performance, productivity, and portability into a single language and compiler: quickly write the compute-intensive part of your program in a high-level style and leave Accelerate to work on the details of code transformation for the target architecture.

Get Started