@hackage accelerate-examples1.3.0.0
Examples using the Accelerate library
Categories
License
BSD-3-Clause
Maintainer
Trevor L. McDonell <trevor.mcdonell@gmail.com>
Links
Versions
Installation
Tested Compilers
Dependencies (24)
- HTTP >=4000.2
- HUnit >=1.2
- QuickCheck >=2.7
- accelerate >=1.3 && <1.4
- accelerate-llvm-native >=1.3
- accelerate-llvm-ptx >=1.3 Show all…
Dependents (1)
@hackage/acme-everything
Package Flags
gui
(on by default)
Enable gloss-based GUIs, where applicable. If not enabled, the application always runs in benchmark mode.
ekg
(on by default)
Enable EKG remote monitoring server at http://localhost:8000
codespeed
(off by default)
Enable upload of results to benchmark server
llvm-cpu
(on by default)
Enable the LLVM backend for multicore CPUs
llvm-ptx
(on by default)
Enable the LLVM PTX backend for NVIDIA GPUs
smvm
(on by default)
Sparse-matrix vector multiplication benchmark
crystal
(on by default)
A visualisation of a sum of waves in a plane
tunnel
(on by default)
The slit-scan effect creating a Doctor Who time vortex
canny
(on by default)
Canny edge detection benchmark
mandelbrot
(on by default)
A Mandelbrot fractal benchmark
julia
(on by default)
An interactive julia-set simulator
fluid
(on by default)
An interactive particle-based fluid simulation
nbody
(on by default)
Simulation of gravitational attraction between solid particles
smoothlife
(on by default)
A cellular automata simulation
hashcat
(on by default)
A "password recovery" application for MD5 cracking
fft
(on by default)
Simple FFT-based high/low-pass image filtering
pagerank
(on by default)
Implementation of the PageRank algorithm
quicksort
(on by default)
Implementation of the QuickSort algorithm
ray
(on by default)
A simple real-time ray tracer
kmeans
(on by default)
An implementation of k-means clustering in a plane
Example programs using the Accelerate library. The aim is for this package to evolve and be useful for both performance and regression testing.
Contributions and bug reports are welcome!
Please feel free to contact me through GitHub or gitter.im.
Installation
External dependencies
Installation of accelerate-examples and its dependencies requires several
external packages. You may need to adjust the package names or versions slightly
for your system.
-
Ubuntu/Debian (apt-get):
- llvm-9-dev
- freeglut3-dev
- libfftw3-dev
-
Mac OS (homebrew)
- fftw
- libffi
- llvm-hs/homebrew-llvm/llvm-9
If you want to use the CUDA GPU enabled backend
accelerate-llvm-ptx, you
will also need to install the CUDA toolkit for your system. You can find an
installer on NVIDIA's website here:
Building: stack
For development, the recommend build method is via the
stack tool. This will simplify pulling in
dependencies not yet on Hackage. For example, to build using ghc-8.10:
ln -s stack-8.10.yaml stack.yaml # only once
stack build # or, 'stack install' to install the executables globally
Before building, you may want to edit the stack.yaml file to change the build
configuration. In particular, the flags section at the bottom can be used to
enable or disable individual example programs and accelerate backends, as well
as features such as monitoring and debug output.
Adding new backends
Adding support for new Accelerate backends should require only a few minor additions to the cabal file and the module 'Data.Array.Accelerate.Examples.Internal.Backend'.