name: accelerate-llvm-native
version: 1.1.0.0
cabal-version: >= 1.10
tested-with: GHC >= 7.10
build-type: Simple
synopsis: Accelerate backend for multicore CPUs
description:
This library implements a backend for the /Accelerate/ language which
generates LLVM-IR targeting multicore CPUs. 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>
.
* <http://sourceware.org/libffi/ libFFI>
.
[/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.
.
[/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 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.Native
Data.Array.Accelerate.LLVM.Native.Plugin
Data.Array.Accelerate.LLVM.Native.Foreign
Data.Array.Accelerate.LLVM.Native.Distribution.Simple
other-modules:
Data.Array.Accelerate.LLVM.Native.Array.Data
Data.Array.Accelerate.LLVM.Native.Debug
Data.Array.Accelerate.LLVM.Native.Execute
Data.Array.Accelerate.LLVM.Native.State
Data.Array.Accelerate.LLVM.Native.Target
Data.Array.Accelerate.LLVM.Native.CodeGen
Data.Array.Accelerate.LLVM.Native.CodeGen.Base
Data.Array.Accelerate.LLVM.Native.CodeGen.Fold
Data.Array.Accelerate.LLVM.Native.CodeGen.FoldSeg
Data.Array.Accelerate.LLVM.Native.CodeGen.Generate
Data.Array.Accelerate.LLVM.Native.CodeGen.Loop
Data.Array.Accelerate.LLVM.Native.CodeGen.Map
Data.Array.Accelerate.LLVM.Native.CodeGen.Permute
Data.Array.Accelerate.LLVM.Native.CodeGen.Scan
Data.Array.Accelerate.LLVM.Native.Compile
Data.Array.Accelerate.LLVM.Native.Compile.Cache
Data.Array.Accelerate.LLVM.Native.Compile.Optimise
Data.Array.Accelerate.LLVM.Native.Link
Data.Array.Accelerate.LLVM.Native.Link.Cache
Data.Array.Accelerate.LLVM.Native.Link.Object
Data.Array.Accelerate.LLVM.Native.Embed
Data.Array.Accelerate.LLVM.Native.Execute.Async
Data.Array.Accelerate.LLVM.Native.Execute.Environment
Data.Array.Accelerate.LLVM.Native.Execute.LBS
Data.Array.Accelerate.LLVM.Native.Execute.Marshal
Data.Array.Accelerate.LLVM.Native.Plugin.Annotation
Data.Array.Accelerate.LLVM.Native.Plugin.BuildInfo
Data.Array.Accelerate.LLVM.Native.Distribution.Simple.Build
Data.Array.Accelerate.LLVM.Native.Distribution.Simple.GHC
Data.Array.Accelerate.LLVM.Native.Distribution.Simple.GHC.Internal
Paths_accelerate_llvm_native
build-depends:
base >= 4.7 && < 4.11
, accelerate == 1.1.*
, accelerate-llvm == 1.1.*
, bytestring >= 0.10.4
, Cabal >= 2.0
, cereal >= 0.4
, containers >= 0.5 && < 0.6
, directory >= 1.0
, dlist >= 0.6
, fclabels >= 2.0
, filepath >= 1.0
, ghc
, libffi >= 0.1
, llvm-hs >= 4.1 && < 5.1
, llvm-hs-pure >= 4.1 && < 5.1
, mtl >= 2.2.1
, template-haskell
, time >= 1.4
default-language:
Haskell2010
ghc-options: -O2 -Wall -fwarn-tabs
if impl(ghc >= 8.0)
ghc-options: -Wmissed-specialisations
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
if os(darwin)
other-modules:
Data.Array.Accelerate.LLVM.Native.Link.MachO
build-depends:
bytestring >= 0.10
, cereal >= 0.4
, ghc-prim
, unix >= 2.7
, vector >= 0.11
build-tools:
c2hs >= 0.25
if os(linux)
other-modules:
Data.Array.Accelerate.LLVM.Native.Link.ELF
build-depends:
bytestring >= 0.10
, cereal >= 0.4
, ghc-prim
, unix >= 2.7
, vector >= 0.11
build-tools:
c2hs >= 0.25
if os(windows)
other-modules:
Data.Array.Accelerate.LLVM.Native.Link.COFF
build-depends:
bytestring >= 0.10
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