name: accelerate-llvm-ptx
version: 1.1.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 <http://hackage.haskell.org/package/accelerate accelerate>
package.
.
[/Dependencies/]
.
Haskell dependencies are available from Hackage. The following external
libraries are alse required:
.
* <http://llvm.org LLVM>
.
* <https://developer.nvidia.com/cuda-downloads CUDA>
.
[/Installing LLVM/]
.
/Homebrew/
.
Example using Homebrew on macOS:
.
> brew install llvm-hs/homebrew-llvm/llvm-5.0
.
/Debian & Ubuntu/
.
For Debian/Ubuntu based Linux distributions, the LLVM.org website provides
binary distribution packages. Check <http://apt.llvm.org apt.llvm.org> for
instructions for adding the correct package database for your OS version,
and then:
.
> apt-get install llvm-5.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
<http://releases.llvm.org/5.0.0/docs/CMake.html LLVM.org>. 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 <tmcdonell@cse.unsw.edu.au>
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
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.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
Data.Array.Accelerate.LLVM.PTX.Execute.Environment
Data.Array.Accelerate.LLVM.PTX.Execute.Event
Data.Array.Accelerate.LLVM.PTX.Execute.Marshal
Paths_accelerate_llvm_ptx
build-depends:
base >= 4.7 && < 4.11
, accelerate == 1.1.*
, accelerate-llvm == 1.1.*
, bytestring >= 0.10.4
, containers >= 0.5 && <0.6
, cuda >= 0.8
, deepseq >= 1.3
, directory >= 1.0
, dlist >= 0.6
, fclabels >= 2.0
, file-embed >= 0.0.8
, filepath >= 1.0
, hashable >= 1.2
, llvm-hs >= 4.1 && < 5.1
, llvm-hs-pure >= 4.1 && < 5.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
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
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.1.0.0
location: https://github.com/AccelerateHS/accelerate-llvm.git
-- vim: nospell