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.

An experimental OpenCL backend is available at and an experimental multicore CPU backend building on the Repa array library is available at

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), vector (==0.9.*), 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 Apr 12 06:18:40 UTC 2012 by ManuelChakravarty
Distributions LTSHaskell:, NixOS:, Stackage:, Tumbleweed:
Downloads 10384 total (110 in the last 30 days)
1 []
Status Docs not available [build log]
All reported builds failed as of 2016-12-25 [all 7 reports]
Hackage Matrix CI


  • Data
    • Array
      • Data.Array.Accelerate
        • Data.Array.Accelerate.AST
        • Analysis
          • Data.Array.Accelerate.Analysis.Shape
          • Data.Array.Accelerate.Analysis.Type
        • Array
          • Data.Array.Accelerate.Array.Data
          • Data.Array.Accelerate.Array.Representation
          • Data.Array.Accelerate.Array.Sugar
        • Data.Array.Accelerate.CUDA
        • Data.Array.Accelerate.IO
          • Data.Array.Accelerate.IO.ByteString
          • Data.Array.Accelerate.IO.Ptr
          • Data.Array.Accelerate.IO.Vector
        • Data.Array.Accelerate.Interpreter
        • Data.Array.Accelerate.Pretty
        • Data.Array.Accelerate.Smart
        • Data.Array.Accelerate.Tuple
        • Data.Array.Accelerate.Type


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