Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Generation of kernels with group-level bodies.
Synopsis
- sKernelGroup :: String -> VName -> KernelAttrs -> InKernelGen () -> CallKernelGen ()
- compileGroupResult :: SegSpace -> PatElem LetDecMem -> KernelResult -> InKernelGen ()
- groupOperations :: Operations GPUMem KernelEnv KernelOp
- data Precomputed
- precomputeConstants :: Count GroupSize (TExp Int64) -> Stms GPUMem -> CallKernelGen Precomputed
- precomputedConstants :: Precomputed -> InKernelGen a -> InKernelGen a
- atomicUpdateLocking :: AtomicBinOp -> Lambda GPUMem -> AtomicUpdate GPUMem KernelEnv
Documentation
sKernelGroup :: String -> VName -> KernelAttrs -> InKernelGen () -> CallKernelGen () Source #
compileGroupResult :: SegSpace -> PatElem LetDecMem -> KernelResult -> InKernelGen () Source #
Precomputation
data Precomputed Source #
Various useful precomputed information for group-level SegOps.
precomputeConstants :: Count GroupSize (TExp Int64) -> Stms GPUMem -> CallKernelGen Precomputed Source #
Precompute various constants and useful information.
precomputedConstants :: Precomputed -> InKernelGen a -> InKernelGen a Source #
Make use of various precomputed constants.
atomicUpdateLocking :: AtomicBinOp -> Lambda GPUMem -> AtomicUpdate GPUMem KernelEnv Source #
Do an atomic update corresponding to a binary operator lambda.