The accelerate package

[Tags:bsd3, library]

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 currently doesn't support Char and Bool arrays.

Known bugs:

For documentation, see the homepage and


Versions 0.4.0,,,,,,,,,,,,,,,,,,,,,
Dependencies array (>=0.3 && <0.5), base (==4.*), binary (==0.5.*), blaze-html (==0.3.*), bytestring (==0.9.*), containers (>=0.3 && <0.5), cuda (>=0.2.2), directory (>=1.0 && <1.2), fclabels (>=1.0 && <1.2), filepath (>=1.0 && <1.4), ghc-prim (==0.2.*), language-c (>=0.3 && <0.5), llvm (>=0.6.8), mtl (==2.0.*), pretty (>=1.0 && <1.2), text (==0.10.*), transformers (==0.2.*), unix (>=2.4 && <2.6), zlib (>=0.5 && < [details]
License BSD3
Author Manuel M T Chakravarty, Gabriele Keller, Sean Lee, Ben Lever Trevor L. McDonell Sean Seefried
Maintainer Manuel M T Chakravarty <>
Category Compilers/Interpreters, Concurrency, Data
Home page
Bug tracker
Source repository head: git clone git://
Uploaded Thu Feb 2 09:18:42 UTC 2012 by ManuelChakravarty
Distributions LTSHaskell:, NixOS:, Stackage:, Tumbleweed:
Downloads 10120 total (269 in the last 30 days)
1 []
Status Docs uploaded by user
Build status unknown [no reports yet]




llvmEnable the LLVM backend (sequential)DisabledAutomatic
cudaEnable the CUDA parallel backend for NVIDIA GPUsEnabledAutomatic
more-ppEnable HTML and Graphviz pretty printing.DisabledAutomatic
pcacheEnable the persistent caching of the compiled CUDA modules (experimental)DisabledAutomatic
test-suiteExport extra test modulesDisabledAutomatic
bounds-checksEnable bounds checkingEnabledAutomatic
unsafe-checksEnable bounds checking in unsafe operationsDisabledAutomatic
internal-checksEnable internal consistency checksDisabledAutomatic
ioProvide access to the block copy I/O functionalityDisabledAutomatic

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