packages feed

abstract-par-accelerate-0.3.2: abstract-par-accelerate.cabal

Name:                abstract-par-accelerate
Version:             0.3.2
Synopsis:            Provides the class ParAccelerate, nothing more.

Description:         Following the convention the @abstract-par@ package,
                     this package simply defines an interface, in the form of a
		     type class, and does not contain any implementation.

                     Importing this module gives the user an API to
                     access @Accelerate@ computations from within
                     @Par@ computations, with the added benefit that
                     the @Par@ can do integrated CPU/GPU scheduling.

-- Version history:
-- 
-- 0.3: Initial release.
-- 0.3.1: Tweak Accelerate dependencies.
-- 0.3.2: Add 'io' flag

Homepage:            https://github.com/simonmar/monad-par
License:             BSD3
License-file:        LICENSE
Author:              Adam Foltzer 2011-2012
Maintainer:          Ryan Newton <rrnewton@gmail.com>
Copyright:           (c) Adam Foltzer 2011-2012
Stability:           Experimental
Category:            Parallelism
Build-type:          Simple
Cabal-version:       >=1.8

Library
  Exposed-modules: 
                 -- Provides the class ParAccelerate:
                 Control.Monad.Par.Accelerate
  ghc-options:    -Wall
  Build-depends:  
                  base >= 4 && < 5
                , abstract-par >= 0.3
                , vector >= 0.9
                , array 

  if flag(newAccelerate)
    Build-depends: accelerate >= 0.12
  else 
    Build-depends: accelerate >= 0.10 && < 0.12

  if flag(io) && flag(newAccelerate)
    Build-depends: accelerate-io >= 0.12

  if flag(io)
    cpp-options: -DACC_IO

-- Mirroring accelerate-0.10's 'io' flag:
flag io
  default:        False

flag newAccelerate
  default:        False