Copyright | [2016..2017] Trevor L. McDonell |
---|---|
License | BSD3 |
Maintainer | Trevor L. McDonell <tmcdonell@cse.unsw.edu.au> |
Stability | experimental |
Portability | non-portable (GHC extensions) |
Safe Haskell | None |
Language | Haskell2010 |
- data ForeignAcc f where
- ForeignAcc :: String -> (a -> LLVM Native b) -> ForeignAcc (a -> b)
- data ForeignExp f where
- ForeignExp :: String -> IRFun1 Native () (x -> y) -> ForeignExp (x -> y)
- data LLVM target a :: * -> * -> *
- data Native = Native {}
- liftIO :: MonadIO m => forall a. IO a -> m a
- module Data.Array.Accelerate.LLVM.Array.Data
- cloneArray :: (Shape sh, Elt e) => Array sh e -> LLVM Native (Array sh e)
Documentation
data ForeignAcc f where Source #
ForeignAcc :: String -> (a -> LLVM Native b) -> ForeignAcc (a -> b) |
Foreign ForeignAcc Source # | |
data ForeignExp f where Source #
ForeignExp :: String -> IRFun1 Native () (x -> y) -> ForeignExp (x -> y) |
Foreign ForeignExp Source # | |
data LLVM target a :: * -> * -> * #
The LLVM monad, for executing array computations. This consists of a stack
for the LLVM execution context as well as the per-execution target specific
state target
.
MonadState target (LLVM target) | |
Execute arch => ExecuteAfun arch (LLVM arch b) | |
Monad (LLVM target) | |
Functor (LLVM target) | |
Applicative (LLVM target) | |
MonadIO (LLVM target) | |
MonadThrow (LLVM target) | |
MonadCatch (LLVM target) | |
MonadMask (LLVM target) | |
type ExecAfunR arch (LLVM arch b) | |
Native machine code JIT execution target
cloneArray :: (Shape sh, Elt e) => Array sh e -> LLVM Native (Array sh e) Source #
Copy an array into a newly allocated array. This uses memcpy
.