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 still misses some features of the full language; in particular, the array operations replicate, slice, and foldSeg are not yet supported.

Known bugs in this version: http://trac.haskell.org/accelerate/query?status=new&status=assigned&status=reopened&status=closed&version=0.7.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.*), directory, fclabels, filepath, ghc-prim, haskell98, language-c (==0.3.*), llvm (>=0.6.8), monads-fd, pretty, 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 Sun Jul 18 14:17:40 UTC 2010
Distributions NixOS:1.2.0.1
Downloads 16157 total (102 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

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