accelerate: An embedded language for accelerated array processing

[ 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 in this version: http://trac.haskell.org/accelerate/query?status=new&status=assigned&status=reopened&status=closed&version=0.8.1.0&order=priority

Versions 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
Dependencies array, base (==4.*), binary, bytestring, containers, cuda (>=0.2.2 && <0.3), directory, fclabels (>=0.9 && <1.0), filepath, ghc-prim, haskell98, language-c (==0.3.*), llvm (>=0.6.8), monads-fd, pretty, QuickCheck (==2.*), transformers (==0.2.*), unix [details]
License BSD-3-Clause
Author Manuel M T Chakravarty, Gabriele Keller, Sean Lee, Trevor L. McDonell
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 http://trac.haskell.org/accelerate
Source repo head: darcs get http://code.haskell.org/accelerate
Uploaded by ManuelChakravarty at Wed Oct 13 04:19:32 UTC 2010
Distributions NixOS:1.2.0.1
Downloads 15995 total (117 in the last 30 days)
Rating 2.5 (votes: 4) [estimated by rule of succession]
Your Rating
  • λ
  • λ
  • λ
Status Docs uploaded by user
Build status unknown [no reports yet]
Hackage Matrix CI

Modules

[Index]

Flags

NameDescriptionDefaultType
llvm

Enable the LLVM backend (sequential)

DisabledAutomatic
cuda

Enable the CUDA parallel backend for NVIDIA GPUs

EnabledAutomatic
pcache

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

DisabledAutomatic
test-suite

Export extra test modules

DisabledAutomatic
bounds-checks

Enable bounds checking

EnabledAutomatic
unsafe-checks

Enable bounds checking in unsafe operations

DisabledAutomatic
internal-checks

Enable internal consistency checks

DisabledAutomatic

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

Downloads

Maintainer's Corner

For package maintainers and hackage trustees