accelerate-examples: Examples using the Accelerate library

[ accelerate, bsd3, compilers-interpreters, concurrency, data, library, parallelism ] [ Propose Tags ]

Example programs using the Accelerate library. The aim is for this package to evolve and be useful for both performance and regression testing.

Refer to the main Accelerate package for more information: http://hackage.haskell.org/package/accelerate


[Skip to Readme]
Versions [faq] 0.2.0.0, 0.2.0.1, 0.12.0.0, 0.12.1.0, 0.13.0.0, 0.14.0.0, 0.15.0.0, 0.15.1.0, 1.0.0.0, 1.1.0.0, 1.2.0.0, 1.2.0.1, 1.3.0.0
Dependencies accelerate (==1.3.*), accelerate-examples, accelerate-fft (>=1.3), accelerate-io (>=1.3), accelerate-io-bmp (>=0.1), accelerate-io-repa (>=0.1), accelerate-io-vector (>=0.1), accelerate-llvm-native (>=1.3), accelerate-llvm-ptx (>=1.3), aeson (>=0.8), ansi-wl-pprint (>=0.6), array (>=0.5.2), base (>=4.7 && <5), binary (>=0.7), bmp (>=1.2), bytestring (>=0.9), bytestring-lexing (>=0.5), cereal (>=0.3), colour-accelerate (>=0.1), containers (>=0.5), criterion (>=1.0), criterion-measurement (>=0.1), directory (>=1.1), fclabels (>=2.0), filepath (>=1.0), gloss (>=1.7), gloss-accelerate (>=2.0), gloss-raster-accelerate (>=2.0), gloss-rendering (>=1.9), HTTP (>=4000.2), http-types (>=0.8), HUnit (>=1.2), lens-accelerate (>=0.1), linear-accelerate (>=0.3), matrix-market-attoparsec (>=0.1), mwc-random (>=0.8), mwc-random-accelerate (>=0.1), network (>=2.5), normaldistribution, process (>=1.0), QuickCheck (>=2.7), random, repa (>=3.1), repa-io (>=3.1), scientific (>=0.3), statistics (>=0.13), template-haskell (>=2.2), test-framework (>=0.5), test-framework-hunit (>=0.3), test-framework-quickcheck2 (>=0.2), text (>=0.11), time (>=1.4), vector (>=0.7), vector-algorithms (>=0.4) [details]
License BSD-3-Clause
Author The Accelerate Team
Maintainer Trevor L. McDonell <trevor.mcdonell@gmail.com>
Category Accelerate
Home page https://github.com/AccelerateHS/accelerate-examples
Bug tracker https://github.com/AccelerateHS/accelerate/issues
Source repo head: git clone https://github.com/AccelerateHS/accelerate-examples
this: git clone https://github.com/AccelerateHS/accelerate-examples(tag v1.3.0.0)
Uploaded by TrevorMcDonell at 2020-08-28T14:24:21Z
Distributions NixOS:1.3.0.0
Executables accelerate-kmeans, accelerate-ray, accelerate-quicksort, accelerate-pagerank, accelerate-fft, accelerate-hashcat, accelerate-smoothlife, accelerate-nbody, accelerate-fluid, accelerate-julia, accelerate-mandelbrot, accelerate-canny, accelerate-tunnel, accelerate-crystal, accelerate-smvm
Downloads 10224 total (33 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Hackage Matrix CI
Docs pending
Build status unknown [no reports yet]

Modules

  • Data
    • Array
      • Accelerate
        • Examples
          • Data.Array.Accelerate.Examples.Internal

Flags

NameDescriptionDefaultType
gui

Enable gloss-based GUIs, where applicable. If not enabled, the application always runs in benchmark mode.

EnabledAutomatic
ekg

Enable EKG remote monitoring server at http://localhost:8000

EnabledAutomatic
codespeed

Enable upload of results to benchmark server

DisabledAutomatic
llvm-cpu

Enable the LLVM backend for multicore CPUs

EnabledAutomatic
llvm-ptx

Enable the LLVM PTX backend for NVIDIA GPUs

EnabledAutomatic
smvm

Sparse-matrix vector multiplication benchmark

EnabledAutomatic
crystal

A visualisation of a sum of waves in a plane

EnabledAutomatic
tunnel

The slit-scan effect creating a Doctor Who time vortex

EnabledAutomatic
canny

Canny edge detection benchmark

EnabledAutomatic
mandelbrot

A Mandelbrot fractal benchmark

EnabledAutomatic
julia

An interactive julia-set simulator

EnabledAutomatic
fluid

An interactive particle-based fluid simulation

EnabledAutomatic
nbody

Simulation of gravitational attraction between solid particles

EnabledAutomatic
smoothlife

A cellular automata simulation

EnabledAutomatic
hashcat

A "password recovery" application for MD5 cracking

EnabledAutomatic
fft

Simple FFT-based high/low-pass image filtering

EnabledAutomatic
pagerank

Implementation of the PageRank algorithm

EnabledAutomatic
quicksort

Implementation of the QuickSort algorithm

EnabledAutomatic
ray

A simple real-time ray tracer

EnabledAutomatic
kmeans

An implementation of k-means clustering in a plane

EnabledAutomatic

Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info

Downloads

Maintainer's Corner

For package maintainers and hackage trustees


Readme for accelerate-examples-1.3.0.0

[back to package description]
<div align="center"> <img width="450" src="https://github.com/AccelerateHS/accelerate/raw/master/images/accelerate-logo-text-v.png?raw=true" alt="henlo, my name is Theia"/>

Example programs using Accelerate

GitHub CI Gitter <br> Stackage LTS Stackage Nightly Hackage <br> Docker Automated build Docker status

</div>

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!<br> 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'.