accelerate
Data.Array.Accelerate defines an embedded array language for computations for high-performance computing in Haskell. Computations on multi-dimensional, regular arrays are expressed in the form of parameterised collective operations, such as maps, reductions, and permutations. These computations may then be online compiled and executed on a range of architectures. As a simple example, consider the computation of a dot product of two vectors of floating point numbers: Except for the type, this code is almost the same as the corresponding Haskell code on lists of floats. The types indicate that the computation may be online-compiled for performance - for example, using Data.Array.Accelerate.LLVM.PTX it may be on-the-fly off-loaded to the GPU. See the Data.Array.Accelerate module for further information. The following supported add-ons are available as separate packages. Use them by adding them as dependencies to your project's cabal file. accelerate-llvm-native: Backend supporting parallel execution on multicore CPUs. accelerate-llvm-ptx: Backend supporting parallel execution on CUDA-capable NVIDIA GPUs. Requires a GPU with compute capability 2.0 or greater. See the following table for supported GPUs: http://en.wikipedia.org/wiki/CUDA#Supported_GPUs containers-accelerate: Container types for use with Accelerate. hashable-accelerate: Class for types which can be converted to a hash value. colour-accelerate: Colour representations in Accelerate (RGB, sRGB, HSV, and HSL). mwc-random-accelerate: Generate Accelerate arrays filled with high quality pseudorandom numbers. Additional libraries that have worked in the past but are not included in the current release (they may be updated later, check to be sure): accelerate-examples: Computational kernels and applications demonstrating the use of Accelerate. accelerate-io*: Fast conversions between Accelerate arrays and other array and data formats. accelerate-fft: Discrete Fourier transforms, with FFI bindings to optimised implementations. accelerate-blas: Numeric linear algebra, with FFI bindings to optimised implementations. accelerate-bignum: Fixed-width large integer arithmetic. gloss-accelerate: Generate gloss pictures from Accelerate. gloss-raster-accelerate: Parallel rendering of raster images and animations. lens-accelerate: Lens operators for Accelerate types. linear-accelerate: Linear vector spaces in Accelerate. Haddock documentation is included in the package. The accelerate-examples package demonstrates a range of computational kernels and several complete applications, including: An implementation of the Canny edge detection algorithm Interactive Mandelbrot and Julia set generators A particle-based simulation of stable fluid flows An n-body simulation of gravitational attraction between solid particles An implementation of the PageRank algorithm A simple interactive ray tracer A cellular automata simulation A "password recovery" tool, for dictionary lookup of MD5 hashes lulesh-accelerate is an implementation of the Livermore Unstructured Lagrangian Explicit Shock Hydrodynamics (LULESH) mini-app. LULESH represents a typical hydrodynamics code such as ALE3D, but is highly simplified and hard-coded to solve the Sedov blast problem on an unstructured hexahedron mesh. Gitter chat: https://gitter.im/AccelerateHS/Lobby Mailing list: accelerate-haskell@googlegroups.com (discussion of both use and development welcome). Sign up for the mailing list here: http://groups.google.com/group/accelerate-haskell Bug reports and issue tracking: https://github.com/AccelerateHS/accelerate/issues
hackage.haskell.org
0.4.0
over 16 years ago
28
33,699 total
2
203
Links
| Registry | hackage.haskell.org |
| Source | Repository |
| Homepage | Homepage |
| JSON API | View JSON |
| CodeMeta | codemeta.json |
Package Details
| PURL |
pkg:hackage/accelerate
spec |
| License | BSD-3-Clause |
| First Release | over 16 years ago |
| Last Synced | 15 days ago |
Repository
| Stars | 928 on GitHub |
| Forks | 123 on GitHub |
| Commits | 2982 |
| Committers | 42 |
| Avg per Author | 71.0 |
| DDS | 0.394 |