accelerate: An embedded language for accelerated array processing

[ bsd3, compilers-interpreters, concurrency, data, library, parallelism ] [ Propose Tags ]
Versions 0.4.0,,,,,,,,,,,,,,,,,,,,,,,
Dependencies array, base (==4.*), binary, bytestring, containers, cuda (==0.2.*), directory, fclabels, filepath, ghc‑prim, haskell98, language‑c (==0.3.*), llvm (>=0.6.8), monads‑fd, pretty, transformers (==0.2.*), unix [details]
License BSD-3-Clause
Author Manuel M T Chakravarty, Gabriele Keller, Sean Lee, Trevor L. McDonell
Maintainer Manuel M T Chakravarty <>
Category Compilers/Interpreters, Concurrency, Data
Home page
Bug tracker
Source repo head: darcs get
Uploaded by ManuelChakravarty at Sun Jul 18 14:17:40 UTC 2010
Distributions LTSHaskell:, NixOS:, openSUSE:
Downloads 15014 total (104 in the last 30 days)
Rating 2.25 (votes: 2) [estimated by rule of succession]
Your Rating
  • λ
  • λ
  • λ
Status Docs uploaded by user
Build status unknown [no reports yet]
Hackage Matrix CI

This library defines an embedded language for regular, multi-dimensional array computations with multiple backends to facilitate high-performance implementations. Currently, there are two backends: (1) an interpreter that serves as a reference implementation of the intended semantics of the language and (2) a CUDA backend generating code for CUDA-capable NVIDIA GPUs.

To use the CUDA backend, you need to have CUDA version 3.x installed. The CUDA backend still misses some features of the full language; in particular, the array operations replicate, slice, and foldSeg are not yet supported.

Known bugs in this version:





enable the LLVM backend (sequential)


enable the CUDA parallel backend for NVIDIA GPUs


Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info


Maintainer's Corner

For package maintainers and hackage trustees