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.*), blaze-html (==0.3.*), bytestring (==0.9.*), containers (>=0.3 && <0.5), ghc-prim (==0.2.*), pretty (>=1.0 && <1.2), text (==0.10.*) [details]
License BSD3
Author Manuel M T Chakravarty, Gabriele Keller, Sean Lee, Ben Lever, Trevor L. McDonell, Ryan Newtown, Sean Seefried
Maintainer Manuel M T Chakravarty <>
Stability Experimental
Category Compilers/Interpreters, Concurrency, Data, Parallelism
Home page
Bug tracker
Source repository head: git clone git://
Uploaded Sat Jun 9 06:08:49 UTC 2012 by ManuelChakravarty
Distributions LTSHaskell:, NixOS:, Stackage:, Tumbleweed:
Downloads 9256 total (62 in the last 30 days)
0 []
Status Docs uploaded by user
Build status unknown [no reports yet]


  • Data
    • Array
      • Data.Array.Accelerate
        • Data.Array.Accelerate.AST
        • Analysis
          • Data.Array.Accelerate.Analysis.Shape
          • Data.Array.Accelerate.Analysis.Stencil
          • Data.Array.Accelerate.Analysis.Type
        • Array
          • Data.Array.Accelerate.Array.Data
          • Data.Array.Accelerate.Array.Representation
          • Data.Array.Accelerate.Array.Sugar
        • 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
more-ppEnable HTML and Graphviz pretty printing.DisabledAutomatic
bounds-checksEnable bounds checkingEnabledAutomatic
unsafe-checksEnable bounds checking in unsafe operationsDisabledAutomatic
internal-checksEnable internal consistency checksDisabledAutomatic

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