The accelerate package

[ Tags: bsd3, compilers-interpreters, concurrency, data, library, parallelism ] [ Propose Tags ]

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:


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 BSD3
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 repository head: darcs get
Uploaded Sun Jul 18 14:17:40 UTC 2010 by ManuelChakravarty
Distributions LTSHaskell:, NixOS:, Stackage:, Tumbleweed:
Downloads 10893 total (181 in the last 30 days)
Rating 2.0 (1 ratings) [clear rating]
  • λ
  • λ
  • λ
Status Docs uploaded by user
Build status unknown [no reports yet]
Hackage Matrix CI





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