@hackage accelerate0.10.0.0
An embedded language for accelerated array processing
Categories
License
BSD-3-Clause
Maintainer
Manuel M T Chakravarty <chak@cse.unsw.edu.au>
Links
Versions
Installation
Tested Compilers
Dependencies (20)
- 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 Show all…
Dependents (47)
@hackage/accelerate-io-repa, @hackage/algebraic, @hackage/accelerate-bignum, @hackage/containers-accelerate, @hackage/accelerate-fourier, @hackage/accelerate-llvm, Show all…
Package Flags
llvm
(off by default)
Enable the LLVM backend (sequential)
cuda
(on by default)
Enable the CUDA parallel backend for NVIDIA GPUs
more-pp
(off by default)
Enable HTML and Graphviz pretty printing.
pcache
(off by default)
Enable the persistent caching of the compiled CUDA modules (experimental)
test-suite
(off by default)
Export extra test modules
bounds-checks
(on by default)
Enable bounds checking
unsafe-checks
(off by default)
Enable bounds checking in unsafe operations
internal-checks
(off by default)
Enable internal consistency checks
io
(off by default)
Provide access to the block copy I/O functionality
inplace(off by default)
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,sliceandfoldSegsupported 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.