accelerate: An embedded language for accelerated array processing
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
andfoldSeg
supported in the CUDA backend; frontend and interpreter support forstencil
; bug fixesNew 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.
Modules
[Index]
- Data
- Array
- Data.Array.Accelerate
- Data.Array.Accelerate.AST
- Analysis
- Array
- Data.Array.Accelerate.CUDA
- Data.Array.Accelerate.IO
- Data.Array.Accelerate.IO.ByteString
- Data.Array.Accelerate.IO.Ptr
- Data.Array.Accelerate.Interpreter
- Data.Array.Accelerate.Pretty
- Data.Array.Accelerate.Smart
- Data.Array.Accelerate.Tuple
- Data.Array.Accelerate.Type
- Data.Array.Accelerate
- Array
Flags
Automatic Flags
Name | Description | Default |
---|---|---|
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 |
inplace | Disabled |
Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info
Downloads
- accelerate-0.9.0.1.tar.gz [browse] (Cabal source package)
- Package description (as included in the package)
Maintainer's Corner
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] |
Tested with | ghc >=7.0.3 |
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 | 32698 total (31 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] |