accelerate-llvm-ptx
Version 1.2.0.0 revision 1 uploaded by TrevorMcDonell.
Package meta
- 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 accelerate 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 apt.llvm.org 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 LLVM.org. Make sure to include the cmake build options
-DLLVM_BUILD_LLVM_DYLIB=ON -DLLVM_LINK_LLVM_DYLIB=ON
so that thelibLLVM
shared library will be built. Also ensure that theLLVM_TARGETS_TO_BUILD
option includes theNVPTX
target (if not specified all targets are built).- Installing accelerate-llvm
To use
accelerate-llvm
it is important that thellvm-hs
package is installed against thelibLLVM
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 yourstack.yaml
file:flags: llvm-hs: shared-llvm: true
Or by specifying the
shared-llvm
flag to cabal:cabal install llvm-hs -fshared-llvm
- Author
- Trevor L. McDonell
- Bug reports
- https://github.com/AccelerateHS/accelerate/issues
- Category
- Compilers/Interpreters, Concurrency, Data, Parallelism
- Copyright
- n/a
- Homepage
- n/a
- Maintainer
- Trevor L. McDonell <tmcdonell@cse.unsw.edu.au>
- Package URL
- n/a
- Stability
- n/a