packages feed

accelerate-llvm-ptx-1.4.0.0: accelerate-llvm-ptx.cabal

cabal-version:          2.2

name:                   accelerate-llvm-ptx
version:                1.4.0.0
tested-with:            GHC >= 9.4
build-type:             Simple

synopsis:               Accelerate backend for NVIDIA GPUs
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 <http://hackage.haskell.org/package/accelerate accelerate>
    package.
    .
    [/Dependencies/]
    .
    Haskell dependencies are available from Hackage. The following external
    dependencies are also required:
    .
    * <https://clang.llvm.org/ clang> (not used to compile C code, but to compile generated LLVM IR via a mostly LLVM-version-independent interface)
    * <https://developer.nvidia.com/cuda-downloads CUDA>
    .
    For installation instructions, see the <https://github.com/AccelerateHS/accelerate-llvm#readme README>.

license:                BSD-3-Clause
license-file:           LICENSE
author:                 Trevor L. McDonell
maintainer:             Trevor L. McDonell <trevor.mcdonell@gmail.com>
bug-reports:            https://github.com/AccelerateHS/accelerate/issues
category:               Accelerate, Compilers/Interpreters, Concurrency, Data, Parallelism

extra-doc-files:
    CHANGELOG.md
    README.md


-- 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.Pool
    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.Environment
    Data.Array.Accelerate.LLVM.PTX.Execute.Event
    Data.Array.Accelerate.LLVM.PTX.Execute.Marshal
    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.Intrinsic
    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.Scan
    Data.Array.Accelerate.LLVM.PTX.CodeGen.Stencil
    Data.Array.Accelerate.LLVM.PTX.CodeGen.Transform

    Data.Array.Accelerate.LLVM.PTX.Compile
    Data.Array.Accelerate.LLVM.PTX.Compile.Cache
    Data.Array.Accelerate.LLVM.PTX.Compile.Libdevice.Load

    Data.Array.Accelerate.LLVM.PTX.Link
    Data.Array.Accelerate.LLVM.PTX.Link.Cache
    Data.Array.Accelerate.LLVM.PTX.Link.Object

    Data.Array.Accelerate.LLVM.PTX.Embed

    System.Process.Extra
    GHC.Heap.NormalForm

    Paths_accelerate_llvm_ptx

  autogen-modules:
    Paths_accelerate_llvm_ptx

  build-depends:
          base                          >= 4.10 && < 5
        , accelerate                    == 1.4.*
        , accelerate-llvm               == 1.4.*
        , bytestring                    >= 0.10.4
        , containers                    >= 0.5 && < 0.9
        , cuda                          >= 0.10
        , deepseq                       >= 1.3
        , directory                     >= 1.0
        , dlist                         >= 0.6
        , file-embed                    >= 0.0.8
        , filepath                      >= 1.0
        , formatting                    >= 7.0
        , hashable                      >= 1.2
        -- , llvm-pretty                   >= 0.12
        , mtl                           >= 2.2.1
          -- only used to render llvm-pretty output
        , pretty
        , prettyprinter                 >= 1.7
        , primitive                     >= 0.7
        , process                       >= 1.4.3
        , template-haskell
        , text                          >= 1.2
        , unordered-containers          >= 0.2

  if impl(ghc >= 8.6)
    build-depends:
          ghc-heap
  else
    build-depends:
          ghc
        , ghci

  hs-source-dirs:
        src

  default-language:
        Haskell2010

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


test-suite nofib-llvm-ptx
  type:                 exitcode-stdio-1.0
  hs-source-dirs:       test/nofib
  main-is:              Main.hs
  other-modules:
    Data.Array.Accelerate.LLVM.PTX.NoFib.RunQ

  build-depends:
          base                          >= 4.10
        , accelerate
        , accelerate-llvm-ptx
        , tasty
        , tasty-hunit

  default-language:
        Haskell2010

  ghc-options:
        -Wall
        -O2
        -threaded
        -rtsopts
        -with-rtsopts=-A128M
        -with-rtsopts=-n4M
        -- -with-rtsopts=-N


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

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

-- vim: nospell