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.
An experimental OpenCL backend is available at https://github.com/HIPERFIT/accelerate-opencl and an experimental multicore CPU backend building on the Repa array library is available at https://github.com/blambo/accelerate-repa.
Known bugs: https://github.com/mchakravarty/accelerate/issues
New in 0.10.0.0: Complete sharing recovery for scalar expressions (but currently disabled by default). Also bug fixes in array sharing recovery and a few new convenience functions.
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
- Data
- Array
- Data.Array.Accelerate
- Data.Array.Accelerate.AST
- Analysis
- Data.Array.Accelerate.Analysis.Shape
- Data.Array.Accelerate.Analysis.Type
- Array
- Data.Array.Accelerate.Array.Data
- Data.Array.Accelerate.Array.Representation
- Data.Array.Accelerate.Array.Sugar
- Data.Array.Accelerate.CUDA
- Data.Array.Accelerate.IO
- Data.Array.Accelerate.IO.ByteString
- Data.Array.Accelerate.IO.Ptr
- Data.Array.Accelerate.IO.Vector
- 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.10.0.0.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), vector (>=0.9 && <0.10), 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-04-12T06:18:40Z |
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 not available [build log] All reported builds failed as of 2020-10-29 [all 10 reports] |