name: accelerate-llvm-native
version: 1.2.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-6.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-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
<http://releases.llvm.org/6.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
-- 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.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
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.12
, accelerate == 1.2.*
, accelerate-llvm == 1.2.*
, bytestring >= 0.10.4
, Cabal >= 2.0
, cereal >= 0.4
, containers >= 0.5 && < 0.6
, directory >= 1.0
, dlist >= 0.6
, filepath >= 1.0
, ghc
, hashable >= 1.0
, libffi >= 0.1
, llvm-hs >= 4.1 && < 6.1
, llvm-hs-pure >= 4.1 && < 6.1
, mtl >= 2.2.1
, template-haskell
, time >= 1.4
, unique
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 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
test-suite nofib-llvm-native
type: exitcode-stdio-1.0
hs-source-dirs: test/nofib
main-is: Main.hs
build-depends:
base >= 4.7
, accelerate
, accelerate-llvm-native
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