name: accelerate-llvm-ptx version: 1.2.0.0 cabal-version: >= 1.10 tested-with: GHC >= 7.10 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 package. . [/Dependencies/] . Haskell dependencies are available from Hackage. The following external libraries are alse required: . * . * . [/Installing LLVM/] . /Homebrew/ . Example using Homebrew on macOS: . > brew install llvm-hs/homebrew-llvm/llvm-6.0 . /Debian & Ubuntu/ . For Debian/Ubuntu based Linux distributions, the LLVM.org website provides binary distribution packages. Check for instructions for adding the correct package database for your OS version, and then: . > apt-get install llvm-6.0-dev . /Building from source/ . If your OS does not have an appropriate LLVM distribution available, you can also build from source. Detailed build instructions are available on . Make sure to include the cmake build options @-DLLVM_BUILD_LLVM_DYLIB=ON -DLLVM_LINK_LLVM_DYLIB=ON@ so that the @libLLVM@ shared library will be built. Also ensure that the @LLVM_TARGETS_TO_BUILD@ option includes the @NVPTX@ target (if not specified all targets are built). . [/Installing accelerate-llvm/] . To use @accelerate-llvm@ it is important that the @llvm-hs@ package is installed against the @libLLVM@ shared library, rather than statically linked, so that we can use LLVM from GHCi and Template Haskell. This is the default configuration, but you can also enforce this explicitly by adding the following to your @stack.yaml@ file: . > flags: > llvm-hs: > shared-llvm: true . Or by specifying the @shared-llvm@ flag to cabal: . > cabal install llvm-hs -fshared-llvm . license: BSD3 license-file: LICENSE author: Trevor L. McDonell maintainer: Trevor L. McDonell bug-reports: https://github.com/AccelerateHS/accelerate/issues category: Compilers/Interpreters, Concurrency, Data, Parallelism extra-source-files: CHANGELOG.md README.md -- Configuration flags -- ------------------- Flag nvvm Default: False Description: Use the NVVM library to generate optimised PTX -- 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.Queue Data.Array.Accelerate.LLVM.PTX.CodeGen.Scan Data.Array.Accelerate.LLVM.PTX.Compile Data.Array.Accelerate.LLVM.PTX.Compile.Cache Data.Array.Accelerate.LLVM.PTX.Compile.Libdevice Data.Array.Accelerate.LLVM.PTX.Compile.Libdevice.Load Data.Array.Accelerate.LLVM.PTX.Compile.Libdevice.TH 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 Paths_accelerate_llvm_ptx build-depends: base >= 4.7 && < 4.12 , accelerate == 1.2.* , accelerate-llvm == 1.2.* , bytestring >= 0.10.4 , containers >= 0.5 && <0.6 , cuda >= 0.9 , deepseq >= 1.3 , directory >= 1.0 , dlist >= 0.6 , file-embed >= 0.0.8 , filepath >= 1.0 , hashable >= 1.2 , llvm-hs >= 4.1 && < 6.1 , llvm-hs-pure >= 4.1 && < 6.1 , mtl >= 2.2.1 , nvvm >= 0.7.5 , pretty >= 1.1 , process >= 1.4.3 , template-haskell , time >= 1.4 , unordered-containers >= 0.2 hs-source-dirs: src default-language: Haskell2010 ghc-options: -O2 -Wall -fwarn-tabs ghc-prof-options: -caf-all -auto-all if impl(ghc >= 8.0) ghc-options: -Wmissed-specialisations if flag(nvvm) cpp-options: -DACCELERATE_USE_NVVM test-suite nofib-llvm-ptx type: exitcode-stdio-1.0 hs-source-dirs: test/nofib main-is: Main.hs build-depends: base >= 4.7 , accelerate , accelerate-llvm-ptx default-language: Haskell2010 ghc-options: -Wall -O2 -threaded -rtsopts -with-rtsopts=-A128M -with-rtsopts=-n4M source-repository head type: git location: https://github.com/AccelerateHS/accelerate-llvm.git source-repository this type: git tag: 1.2.0.0 location: https://github.com/AccelerateHS/accelerate-llvm.git -- vim: nospell