packages feed

accelerate-llvm-ptx-1.0.0.0: accelerate-llvm-ptx.cabal

name:                   accelerate-llvm-ptx
version:                1.0.0.0
cabal-version:          >= 1.10
tested-with:            GHC == 7.8.*
build-type:             Simple

synopsis:               Accelerate backend generating LLVM
description:
    This library implements a backend for the /Accelerate/ language which
    generates LLVM-IR targeting CUDA capable GPUs. For further information,
    refer to the main /Accelerate/ package:
    <http://hackage.haskell.org/package/accelerate>

license:                BSD3
license-file:           LICENSE
author:                 Trevor L. McDonell
maintainer:             Trevor L. McDonell <tmcdonell@cse.unsw.edu.au>
bug-reports:            https://github.com/AccelerateHS/accelerate/issues
category:               Compilers/Interpreters, Concurrency, Data, Parallelism


-- Configuration flags
-- -------------------

Flag nvvm
  Default:              False
  Description:          Use the NVVM library to generate optimised PTX

Flag debug
  Default:              False
  Description:
    Enable debug tracing message flags. Note that 'debug' must be enabled in the
    base 'accelerate' package as well. See the 'accelerate' package for usage
    and available options.

Flag bounds-checks
  Default:              True
  Description:          Enable bounds checking

Flag unsafe-checks
  Default:              False
  Description:          Enable bounds checking in unsafe operations

Flag internal-checks
  Default:              False
  Description:          Enable internal consistency checks


-- Build configuration
-- -------------------

Library
  exposed-modules:
    Data.Array.Accelerate.LLVM.PTX
    Data.Array.Accelerate.LLVM.PTX.Foreign

  other-modules:
    Data.Array.Accelerate.LLVM.PTX.Analysis.Device
    Data.Array.Accelerate.LLVM.PTX.Analysis.Launch
    Data.Array.Accelerate.LLVM.PTX.Array.Data
    Data.Array.Accelerate.LLVM.PTX.Array.Prim
    Data.Array.Accelerate.LLVM.PTX.Array.Remote
    Data.Array.Accelerate.LLVM.PTX.Array.Table
    Data.Array.Accelerate.LLVM.PTX.Context
    Data.Array.Accelerate.LLVM.PTX.Debug
    Data.Array.Accelerate.LLVM.PTX.State
    Data.Array.Accelerate.LLVM.PTX.Target

    Data.Array.Accelerate.LLVM.PTX.Execute
    Data.Array.Accelerate.LLVM.PTX.Execute.Async
    Data.Array.Accelerate.LLVM.PTX.Execute.Stream
    Data.Array.Accelerate.LLVM.PTX.Execute.Stream.Reservoir

    Data.Array.Accelerate.LLVM.PTX.CodeGen
    Data.Array.Accelerate.LLVM.PTX.CodeGen.Base
    Data.Array.Accelerate.LLVM.PTX.CodeGen.Fold
    Data.Array.Accelerate.LLVM.PTX.CodeGen.FoldSeg
    Data.Array.Accelerate.LLVM.PTX.CodeGen.Generate
    Data.Array.Accelerate.LLVM.PTX.CodeGen.Loop
    Data.Array.Accelerate.LLVM.PTX.CodeGen.Map
    Data.Array.Accelerate.LLVM.PTX.CodeGen.Permute
    Data.Array.Accelerate.LLVM.PTX.CodeGen.Queue
    Data.Array.Accelerate.LLVM.PTX.CodeGen.Scan

    Data.Array.Accelerate.LLVM.PTX.Compile
    Data.Array.Accelerate.LLVM.PTX.Compile.Link
    Data.Array.Accelerate.LLVM.PTX.Compile.Libdevice

    Data.Array.Accelerate.LLVM.PTX.Execute.Environment
    Data.Array.Accelerate.LLVM.PTX.Execute.Event
    Data.Array.Accelerate.LLVM.PTX.Execute.Marshal

  build-depends:
          base                          >= 4.7 && < 4.10
        , accelerate                    == 1.0.*
        , accelerate-llvm               == 1.0.*
        , bytestring                    >= 0.9
        , containers                    >= 0.5 && <0.6
        , cuda                          >= 0.7
        , directory                     >= 1.0
        , dlist                         >= 0.6
        , fclabels                      >= 2.0
        , filepath                      >= 1.0
        , hashable                      >= 1.2
        , llvm-hs                       >= 3.9
        , llvm-hs-pure                  >= 3.9
        , mtl                           >= 2.2.1
        , pretty                        >= 1.1
        , time                          >= 1.4
        , unordered-containers          >= 0.2

  default-language:
    Haskell2010

  ghc-options:                  -O2 -Wall -fwarn-tabs

  if impl(ghc >= 8.0)
    ghc-options:                -Wmissed-specialisations

  if flag(nvvm)
    cpp-options:                -DACCELERATE_USE_NVVM
    build-depends:
          nvvm                  >= 0.7.5

  if flag(debug)
    cpp-options:                -DACCELERATE_DEBUG

  if flag(bounds-checks)
    cpp-options:                -DACCELERATE_BOUNDS_CHECKS

  if flag(unsafe-checks)
    cpp-options:                -DACCELERATE_UNSAFE_CHECKS

  if flag(internal-checks)
    cpp-options:                -DACCELERATE_INTERNAL_CHECKS


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

source-repository this
  type:                 git
  tag:                  1.0.0.0
  location:             https://github.com/AccelerateHS/accelerate-llvm.git

-- vim: nospell