accelerate: An embedded language for accelerated array processing

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

Known bugs: https://github.com/mchakravarty/accelerate/issues

  • New in 0.9.0.0: Streaming, precompilation, Repa-style indices, stencils, more scans, rank-polymorphic fold, generate, block I/O & many bug fixes

  • New in 0.8.1.0: bug fixes and some performance tweaks

  • New in 0.8.0.0: replicate, slice and foldSeg supported in the CUDA backend; frontend and interpreter support for stencil; bug fixes

  • New in 0.7.1.0: the CUDA backend and a number of scalar functions

For documentation, see the homepage and https://github.com/mchakravarty/accelerate/wiki.

Flags

Automatic Flags
NameDescriptionDefault
llvm

Enable the LLVM backend (sequential)

Disabled
cuda

Enable the CUDA parallel backend for NVIDIA GPUs

Enabled
more-pp

Enable HTML and Graphviz pretty printing.

Disabled
pcache

Enable the persistent caching of the compiled CUDA modules (experimental)

Disabled
test-suite

Export extra test modules

Disabled
bounds-checks

Enable bounds checking

Enabled
unsafe-checks

Enable bounds checking in unsafe operations

Disabled
internal-checks

Enable internal consistency checks

Disabled
io

Provide access to the block copy I/O functionality

Disabled
inplaceDisabled

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

Downloads

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees

Candidates

Versions [RSS] 0.4.0, 0.5.0.0, 0.6.0.0, 0.7.1.0, 0.8.0.0, 0.8.1.0, 0.9.0.0, 0.9.0.1, 0.10.0.0, 0.12.0.0, 0.12.1.0, 0.12.2.0, 0.13.0.0, 0.13.0.1, 0.13.0.2, 0.13.0.3, 0.13.0.4, 0.13.0.5, 0.14.0.0, 0.15.0.0, 0.15.1.0, 1.0.0.0, 1.1.0.0, 1.1.1.0, 1.2.0.0, 1.2.0.1, 1.3.0.0
Dependencies array (>=0.3 && <0.5), base (>=4 && <5), binary (>=0.5 && <0.6), blaze-html (>=0.3 && <0.4), bytestring (>=0.9 && <0.10), 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 && <0.3), language-c (>=0.3 && <0.5), llvm (>=0.6.8), mtl (>=2.0 && <2.1), pretty (>=1.0 && <1.2), text (>=0.10 && <0.11), transformers (>=0.2 && <0.3), unix (>=2.4 && <2.6), zlib (>=0.5 && <0.5.3.2) [details]
License BSD-3-Clause
Author Manuel M T Chakravarty, Gabriele Keller, Sean Lee, Ben Lever Trevor L. McDonell Sean Seefried
Maintainer Manuel M T Chakravarty <chak@cse.unsw.edu.au>
Category Compilers/Interpreters, Concurrency, Data
Home page http://www.cse.unsw.edu.au/~chak/project/accelerate/
Bug tracker https://github.com/mchakravarty/accelerate/issues
Source repo head: git clone git://github.com/mchakravarty/accelerate.git
Uploaded by ManuelChakravarty at 2012-02-02T09:18:42Z
Distributions
Reverse Dependencies 44 direct, 10 indirect [details]
Downloads 31840 total (98 in the last 30 days)
Rating 2.5 (votes: 6) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs uploaded by user
Build status unknown [no reports yet]