Name: accelerate-examples
Version: 0.14.0.0
Cabal-version: >=1.6
Tested-with: GHC == 7.6.*
Build-type: Simple
Synopsis: Examples using the Accelerate library
Description:
This package demonstrates a number of computation kernels and applications
showcasing the /Accelerate/ language and associated backend implementations.
It is also used for performance and regression testing.
.
Refer to the main /Accelerate/ package for more information:
<http://hackage.haskell.org/package/accelerate>
.
License: BSD3
License-file: LICENSE
Author: The Accelerate Team
Maintainer: Trevor L. McDonell <tmcdonell@cse.unsw.edu.au>
Homepage: https://github.com/AccelerateHS/accelerate-examples
Bug-reports: https://github.com/AccelerateHS/accelerate/issues
Category: Compilers/Interpreters, Concurrency, Data, Parallelism
Stability: Experimental
Extra-source-files: data/hashcat/README.md
data/matrices/README.md
Flag gui
Description: Enable gloss-based GUIs, where applicable. If not
enabled, the application always runs in benchmark mode.
Default: True
Flag ekg
Description: Enable EKG remote monitoring server at <http://localhost:8000>
Default: True
Flag cuda
Description: Enable the CUDA parallel backend for NVIDIA GPUs
Default: True
Flag opencl
Description: Enable the OpenCL parallel backend
Default: False
-- Flags to specify which programs to build (all true by default)
--
Flag nofib
Flag smvm
Flag crystal
Flag canny
Flag mandelbrot
Flag fluid
Flag nbody
Flag smoothlife
Flag hashcat
Flag fft
-- The main test program. This includes randomised quickcheck testing for array
-- primitives, unit tests, imaginary/spectral/real programs, and benchmarks.
--
-- TODO: add an analysis script to scrape benchmark results
--
Executable accelerate-nofib
Main-is: Main.hs
hs-source-dirs: lib
examples/nofib
examples/smvm
other-modules: Config ParseArgs Monitoring
QuickCheck.Arbitrary.Array
QuickCheck.Arbitrary.Shape
Test.Base
Test.IO
Test.IO.Ptr
Test.IO.Vector
Test.Imaginary
Test.Imaginary.DotP
Test.Imaginary.SASUM
Test.Imaginary.SAXPY
Test.Prelude
Test.Prelude.Filter
Test.Prelude.IndexSpace
Test.Prelude.Mapping
Test.Prelude.PrefixSum
Test.Prelude.Reduction
Test.Prelude.Replicate
Test.Prelude.Stencil
Test.Sharing
Test.Spectral
Test.Spectral.BlackScholes
Test.Spectral.SMVM
Test.Spectral.RadixSort
ghc-options: -Wall -O2
-threaded
-fpedantic-bottoms
-fno-full-laziness
-fno-excess-precision
ghc-prof-options: -auto-all
extra-libraries: stdc++
c-sources: examples/nofib/Test/IO/fill_with_values.cpp
examples/nofib/Test/Spectral/BlackScholes.cpp
if impl(ghc >= 7.0)
ghc-options: -rtsopts
if flag(cuda)
CPP-options: -DACCELERATE_CUDA_BACKEND
build-depends: accelerate-cuda == 0.14.*
other-modules: Test.Foreign
if flag(opencl)
CPP-options: -DACCELERATE_OPENCL_BACKEND
build-depends: accelerate-opencl == 0.1.*
if flag(ekg)
CPP-options: -DACCELERATE_ENABLE_EKG
build-depends: ekg >= 0.3 && < 0.4
ghc-options: -with-rtsopts=-T
if !flag(nofib)
buildable: False
else
build-depends: accelerate == 0.14.*,
accelerate-io == 0.14.*,
base == 4.6.*,
array >= 0.3,
containers >= 0.5,
criterion >= 0.5 && < 0.9,
fclabels >= 2.0 && < 2.1,
HUnit >= 1.2 && < 1.3,
QuickCheck >= 2.0 && < 2.7,
test-framework >= 0.5 && < 0.9,
test-framework-hunit >= 0.3 && < 0.4,
test-framework-quickcheck2 >= 0.2 && < 0.4,
random
-- Sparse matrix vector multiplication
-- -----------------------------------
Executable accelerate-smvm
hs-source-dirs: examples/smvm lib
Main-is: Main.hs
other-modules: ParseArgs Monitoring
Config
Matrix
MatrixMarket
SMVM
ghc-options: -O2 -Wall -threaded
ghc-prof-options: -auto-all
if impl(ghc >= 7.0)
ghc-options: -rtsopts
if impl(ghc >= 7.6)
ghc-options: -fsimpl-tick-factor=130
if flag(cuda)
CPP-options: -DACCELERATE_CUDA_BACKEND
build-depends: accelerate-cuda == 0.14.*
if flag(opencl)
CPP-options: -DACCELERATE_OPENCL_BACKEND
build-depends: accelerate-opencl == 0.1.*
if flag(ekg)
CPP-options: -DACCELERATE_ENABLE_EKG
build-depends: ekg >= 0.3 && < 0.4
ghc-options: -with-rtsopts=-T
if !flag(smvm)
buildable: False
else
build-depends: accelerate == 0.14.*,
base == 4.6.*,
attoparsec >= 0.10 && < 0.11,
bytestring >= 0.9 && < 0.11,
bytestring-lexing >= 0.2 && < 0.5,
criterion >= 0.5 && < 0.9,
fclabels >= 2.0 && < 2.1,
primitive >= 0.5 && < 0.6,
mwc-random >= 0.8 && < 0.14,
vector >= 0.7 && < 0.11,
vector-algorithms >= 0.4 && < 0.6
-- A quasicrystal demo as the sum of waves in a plane
-- --------------------------------------------------
Executable accelerate-crystal
hs-source-dirs: examples/crystal lib
Main-is: Main.hs
other-modules: Config ParseArgs Monitoring
ghc-options: -O2 -Wall -threaded
ghc-prof-options: -auto-all
if impl(ghc >= 7.0)
ghc-options: -rtsopts
if flag(gui)
CPP-options: -DACCELERATE_ENABLE_GUI
if flag(cuda)
CPP-options: -DACCELERATE_CUDA_BACKEND
build-depends: accelerate-cuda == 0.14.*
if flag(opencl)
CPP-options: -DACCELERATE_OPENCL_BACKEND
build-depends: accelerate-opencl == 0.1.*
if flag(ekg)
CPP-options: -DACCELERATE_ENABLE_EKG
build-depends: ekg >= 0.3 && < 0.4
ghc-options: -with-rtsopts=-T
if !flag(crystal)
buildable: False
else
build-depends: accelerate == 0.14.*,
base == 4.6.*,
criterion >= 0.5 && < 0.9,
fclabels >= 2.0 && < 2.1,
gloss-raster-accelerate >= 1.8 && < 1.9
-- Image edge detection
-- --------------------
Executable accelerate-canny
hs-source-dirs: examples/canny/src-acc lib
Main-is: Main.hs
other-modules: Config ParseArgs Canny Wildfire Monitoring
ghc-options: -Wall -threaded -Odph -fllvm -optlo-O3
ghc-prof-options: -auto-all
if impl(ghc >= 7.0)
ghc-options: -rtsopts
if flag(cuda)
CPP-options: -DACCELERATE_CUDA_BACKEND
build-depends: accelerate-cuda == 0.14.*
if flag(opencl)
CPP-options: -DACCELERATE_OPENCL_BACKEND
build-depends: accelerate-opencl == 0.1.*
if flag(ekg)
CPP-options: -DACCELERATE_ENABLE_EKG
build-depends: ekg >= 0.3 && < 0.4
ghc-options: -with-rtsopts=-T
if !flag(canny)
buildable: False
else
build-depends: accelerate == 0.14.*,
accelerate-io == 0.14.*,
base == 4.6.*,
criterion >= 0.5 && < 0.9,
fclabels >= 2.0 && < 2.1,
repa >= 3.1 && < 3.3,
repa-io >= 3.1 && < 3.3,
vector >= 0.7 && < 0.11
-- A simple mandelbrot generator
-- -----------------------------
Executable accelerate-mandelbrot
hs-source-dirs: examples/mandelbrot lib
Main-is: Main.hs
other-modules: Config World Mandel ParseArgs Monitoring
ghc-options: -O2 -Wall -threaded
ghc-prof-options: -auto-all
if impl(ghc >= 7.0)
ghc-options: -rtsopts
if flag(gui)
CPP-options: -DACCELERATE_ENABLE_GUI
if flag(cuda)
CPP-options: -DACCELERATE_CUDA_BACKEND
build-depends: accelerate-cuda == 0.14.*
if flag(opencl)
CPP-options: -DACCELERATE_OPENCL_BACKEND
build-depends: accelerate-opencl == 0.1.*
if flag(ekg)
CPP-options: -DACCELERATE_ENABLE_EKG
build-depends: ekg >= 0.3 && < 0.4
ghc-options: -with-rtsopts=-T
if !flag(mandelbrot)
buildable: False
else
build-depends: accelerate == 0.14.*,
accelerate-fft == 0.14.*,
accelerate-io == 0.14.*,
base == 4.6.*,
criterion >= 0.5 && < 0.9,
fclabels >= 2.0 && < 2.1,
gloss >= 1.7 && < 1.9,
gloss-accelerate >= 1.7 && < 1.9
-- A stable fluid simulation
-- -------------------------
Executable accelerate-fluid
Main-is: Main.hs
hs-source-dirs: examples/fluid/src-acc lib
other-modules: Config ParseArgs Monitoring
Event
Fluid
Type
World
ghc-options: -O2 -Wall -threaded
ghc-prof-options: -auto-all
if impl(ghc >= 7.0)
ghc-options: -rtsopts
if flag(gui)
CPP-options: -DACCELERATE_ENABLE_GUI
if flag(cuda)
cpp-options: -DACCELERATE_CUDA_BACKEND
build-depends: accelerate-cuda == 0.14.*
if flag(ekg)
CPP-options: -DACCELERATE_ENABLE_EKG
build-depends: ekg >= 0.3 && < 0.4
ghc-options: -with-rtsopts=-T
if !flag(fluid)
buildable: False
else
build-depends: accelerate == 0.14.*,
accelerate-io == 0.14.*,
base == 4.6.*,
bmp >= 1.2,
criterion >= 0.5 && < 0.9,
fclabels >= 2.0 && < 2.1,
gloss >= 1.7 && < 1.9
-- Simulation of gravitational attraction between solid particles
-- --------------------------------------------------------------
Executable accelerate-nbody
Main-is: Main.hs
hs-source-dirs: examples/n-body lib
other-modules: Config ParseArgs Monitoring
Common.Body
Common.Dump
Common.Tree
Common.Type
Common.Util
Common.World
Gloss.Draw
Gloss.Event
Gloss.Simulate
Random.Array
Random.Position
Solver.BarnsHut
Solver.Naive1
Solver.Naive2
ghc-options: -O2 -Wall -threaded
ghc-prof-options: -auto-all
if impl(ghc >= 7.0)
ghc-options: -rtsopts
if flag(gui)
cpp-options: -DACCELERATE_ENABLE_GUI
if flag(cuda)
cpp-options: -DACCELERATE_CUDA_BACKEND
build-depends: accelerate-cuda == 0.14.*
if flag(ekg)
CPP-options: -DACCELERATE_ENABLE_EKG
build-depends: ekg >= 0.3 && < 0.4
ghc-options: -with-rtsopts=-T
if !flag(nbody)
buildable: False
else
build-depends: accelerate == 0.14.*,
base == 4.6.*,
criterion >= 0.5 && < 0.9,
fclabels >= 2.0 && < 2.1,
gloss >= 1.7 && < 1.9,
mwc-random >= 0.8 && < 0.14
-- A celular automata
-- ------------------
Executable accelerate-smoothlife
Main-is: Main.hs
hs-source-dirs: examples/smoothlife lib
other-modules: Config ParseArgs Monitoring
SmoothLife
Gloss.Draw
Gloss.Event
Gloss.Simulate
Random.Array
Random.Splat
ghc-options: -O2 -Wall -threaded
ghc-prof-options: -auto-all
if impl(ghc >= 7.0)
ghc-options: -rtsopts
if flag(gui)
cpp-options: -DACCELERATE_ENABLE_GUI
if flag(cuda)
cpp-options: -DACCELERATE_CUDA_BACKEND
build-depends: accelerate-cuda == 0.14.*
if flag(ekg)
CPP-options: -DACCELERATE_ENABLE_EKG
build-depends: ekg >= 0.3 && < 0.4
ghc-options: -with-rtsopts=-T
if !flag(smoothlife)
buildable: False
else
build-depends: accelerate == 0.14.*,
accelerate-fft == 0.14.*,
accelerate-io == 0.14.*,
base == 4.6.*,
criterion >= 0.5 && < 0.9,
fclabels >= 2.0 && < 2.1,
gloss >= 1.7 && < 1.9,
gloss-accelerate >= 1.7 && < 1.9,
mwc-random >= 0.8 && < 0.14
-- A password recovery tool
-- ------------------------
Executable accelerate-hashcat
Main-is: Main.hs
hs-source-dirs: examples/hashcat lib
other-modules: Config ParseArgs Monitoring
Digest
MD5
Util
ghc-options: -O2 -Wall -threaded
ghc-prof-options: -auto-all
if impl(ghc >= 7.0)
ghc-options: -rtsopts
if flag(cuda)
cpp-options: -DACCELERATE_CUDA_BACKEND
build-depends: accelerate-cuda == 0.14.*
if flag(ekg)
CPP-options: -DACCELERATE_ENABLE_EKG
build-depends: ekg >= 0.3 && < 0.4
ghc-options: -with-rtsopts=-T
if !flag(hashcat)
buildable: False
else
build-depends: accelerate == 0.14.*,
base == 4.6.*,
bytestring >= 0.9 && < 0.11,
bytestring-lexing >= 0.2 && < 0.5,
cereal >= 0.3 && < 0.5,
criterion >= 0.5 && < 0.9,
fclabels >= 2.0 && < 2.1,
mwc-random >= 0.8 && < 0.14
-- FFT examples
-- ------------
Executable accelerate-fft
Main-is: Main.hs
hs-source-dirs: examples/fft/src-acc lib
other-modules: Config
ParseArgs
HighPass
FFT
ghc-options: -O2 -Wall -threaded
if impl(ghc >= 7.0)
ghc-options: -rtsopts
if flag(cuda)
cpp-options: -DACCELERATE_CUDA_BACKEND
build-depends: accelerate-cuda == 0.14.*
if !flag(fft)
buildable: False
else
build-depends: accelerate == 0.14.*,
accelerate-io == 0.14.*,
accelerate-fft == 0.14.*,
base == 4.6.*,
criterion >= 0.5 && < 0.9,
fclabels >= 2.0 && < 2.1,
filepath >= 1.0
source-repository head
type: git
location: https://github.com/AccelerateHS/accelerate-examples
-- vim: nospell
--