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.
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
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
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.