packages feed

accelerate-examples-0.13.0.0: accelerate-examples.cabal

Name:                   accelerate-examples
Version:                0.13.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

Flag gui
  Description:          Enable gloss-based GUIs, where applicable. If not
                        enabled, the application always runs in benchmark mode.
  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


-- Run some basic randomised tests of the primitive library operations, and unit
-- tests of known (hopefully prior) failures.
--
Executable accelerate-quickcheck
  Main-is:              Main.hs
  hs-source-dirs:       examples/quickcheck/

  other-modules:        Config
                        Arbitrary.Array
                        Arbitrary.Shape
                        Test.Base
                        Test.IndexSpace
                        Test.Mapping
                        Test.PrefixSum
                        Test.Reduction

  ghc-options:          -Wall -O2
                        -threaded
                        -fpedantic-bottoms
                        -fno-warn-orphans
                        -fno-full-laziness
                        -fno-excess-precision

  if impl(ghc >= 7.0)
    ghc-options:        -rtsopts

  if flag(cuda)
    CPP-options:        -DACCELERATE_CUDA_BACKEND
    build-depends:      accelerate-cuda                 == 0.13.*,
                        cuda                            >= 0.5  && < 0.6

  if flag(opencl)
    CPP-options:        -DACCELERATE_OPENCL_BACKEND
    build-depends:      accelerate-opencl               == 0.1.*

  build-depends:        accelerate                      == 0.13.*,
                        QuickCheck                      >= 2.0  && < 2.6,
                        test-framework                  >= 0.5  && < 0.9,
                        test-framework-quickcheck2      >= 0.2  && < 0.4,
                        random


-- The main examples program including verification and timing tests for several
-- simple accelerate programs
--
Executable accelerate-examples
  Main-is:              Main.hs
  hs-source-dirs:       examples/tests
                        examples/tests/io
                        examples/tests/image-processing
                        examples/tests/primitives
                        examples/tests/simple

  other-modules:        Benchmark, Config, PGM, Random, Test, Util, Validate,

                        -- tests:
                        --  image-processing
                        Canny, IntegralImage,

                        --  io
                        BlockCopy, VectorCopy,

                        --  primitives
                        Backpermute, Fold, FoldSeg, Gather, Map, Permute, ScanSeg,
                        Scatter, Stencil, Stencil2, Vector, Zip, ZipWith,

                        --  simple
                        BlackScholes, DotP, Filter, Radix, SASUM, SAXPY,
                        SharingRecovery, SliceExamples, SMVM, SMVM.Matrix, SMVM.MatrixMarket


  c-sources:            examples/tests/io/fill_with_values.cpp
  extra-libraries:      stdc++

  ghc-options:          -Wall -O2 -threaded -fno-excess-precision
  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.13.*

  if flag(opencl)
    CPP-options:        -DACCELERATE_OPENCL_BACKEND
    build-depends:      accelerate-opencl       == 0.1.*

  build-depends:        accelerate              == 0.13.*,
                        accelerate-io           == 0.13.*,
                        base                    == 4.*,
                        array                   >= 0.3  && < 0.5,
                        attoparsec              >= 0.10 && < 0.11,
                        bytestring              >= 0.9  && < 0.11,
                        bytestring-lexing       >= 0.2  && < 0.5,
                        cmdargs                 >= 0.6  && < 0.11,
                        criterion               >= 0.5  && < 0.9,
                        deepseq                 >= 1.1  && < 1.4,
                        directory               >= 1.0  && < 1.3,
                        filepath                >= 1.0  && < 1.4,
                        hashtables              >= 1.0  && < 1.2,
                        mtl                     >= 1.1  && < 2.2,
                        mwc-random              >= 0.8  && < 0.13,
                        pgm                     >= 0.1  && < 0.2,
                        pretty                  >= 1.0  && < 1.2,
                        repa                    >= 3.1  && < 3.3,
                        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
  ghc-options:          -O2 -Wall -threaded
  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.13.*

  if flag(opencl)
    CPP-options:        -DACCELERATE_OPENCL_BACKEND
    build-depends:      accelerate-opencl       == 0.1.*

  build-depends:        accelerate              == 0.13.*,
                        base                    == 4.*,
                        criterion               >= 0.5  && < 0.9,
                        fclabels                >= 1.0  && < 1.2,
                        gloss                   >= 1.7  && < 1.8


-- Image edge detection
-- --------------------

Executable accelerate-canny
  hs-source-dirs:       examples/canny/src-acc lib
  Main-is:              Main.hs
  other-modules:        Config ParseArgs Canny Wildfire
  ghc-options:          -Wall -threaded -Odph -fllvm -optlo-O3

  if impl(ghc >= 7.0)
    ghc-options:        -rtsopts

  if flag(cuda)
    CPP-options:        -DACCELERATE_CUDA_BACKEND
    build-depends:      accelerate-cuda         == 0.13.*

  if flag(opencl)
    CPP-options:        -DACCELERATE_OPENCL_BACKEND
    build-depends:      accelerate-opencl       == 0.1.*

  build-depends:        accelerate              == 0.13.*,
                        accelerate-io           == 0.13.*,
                        base                    == 4.*,
                        criterion               >= 0.5  && < 0.9,
                        fclabels                >= 1.0  && < 1.2,
                        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
  ghc-options:          -O2 -Wall -threaded
  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.13.*

  if flag(opencl)
    CPP-options:        -DACCELERATE_OPENCL_BACKEND
    build-depends:      accelerate-opencl       == 0.1.*

  build-depends:        accelerate              == 0.13.*,
                        base                    == 4.*,
                        criterion               >= 0.5  && < 0.9,
                        fclabels                >= 1.0  && < 1.2,
                        gloss                   >= 1.7  && < 1.8


-- A stable fluid simulation
-- -------------------------

Executable accelerate-fluid
  Main-is:              Main.hs
  hs-source-dirs:       examples/fluid/src-acc lib
  other-modules:        Config
                        ParseArgs
                        Event
                        Fluid
                        Type
                        World

  ghc-options:          -O2 -Wall -threaded
  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.13.*

  Build-depends:        accelerate              == 0.13.*,
                        accelerate-io           == 0.13.*,
                        base                    == 4.*,
                        bmp                     >= 1.2  && < 1.3,
                        criterion               >= 0.5  && < 0.9,
                        fclabels                >= 1.0  && < 1.2,
                        gloss                   >= 1.7  && < 1.8


-- 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
                        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.Naive

  ghc-options:          -O2 -Wall -threaded
  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.13.*

  Build-depends:        accelerate              == 0.13.*,
                        base                    == 4.*,
                        criterion               >= 0.5  && < 0.9,
                        fclabels                >= 1.0  && < 1.2,
                        gloss                   >= 1.7  && < 1.8


-- A celular automata
-- ------------------

Executable accelerate-smoothlife
  Main-is:              Main.hs
  hs-source-dirs:       examples/smoothlife lib
  other-modules:        Config
                        ParseArgs
                        SmoothLife
                        Gloss.Draw
                        Gloss.Event
                        Gloss.Simulate
                        Random.Array
                        Random.Splat

  ghc-options:          -O2 -Wall -threaded
  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.13.*

  Build-depends:        accelerate              == 0.13.*,
                        accelerate-fft          == 0.13.*,
                        base                    == 4.*,
                        criterion               >= 0.5  && < 0.9,
                        fclabels                >= 1.0  && < 1.2,
                        gloss                   >= 1.7  && < 1.8


-- A password recovery tool
-- ------------------------

Executable accelerate-hashcat
  Main-is:              Main.hs
  hs-source-dirs:       examples/hashcat lib
  other-modules:        Config
                        ParseArgs
                        Digest
                        MD5
                        Util

  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.13.*

  Build-depends:        accelerate              == 0.13.*,
                        base                    == 4.*,
                        bytestring              >= 0.9  && < 0.11,
                        bytestring-lexing       >= 0.2  && < 0.5,
                        cereal                  >= 0.3  && < 0.4,
                        criterion               >= 0.5  && < 0.9,
                        fclabels                >= 1.0  && < 1.2


source-repository head
  type:                 git
  location:             https://github.com/AccelerateHS/accelerate-examples

-- vim: nospell
--