Safe Haskell | None |
---|---|
Language | Haskell2010 |
Synopsis
- data SizeOp
- data HostOp lore op
- typeCheckHostOp :: Checkable lore => (SegLevel -> OpWithAliases (Op lore) -> TypeM lore ()) -> Maybe SegLevel -> (op -> TypeM lore ()) -> HostOp (Aliases lore) op -> TypeM lore ()
- data SegLevel
- module Futhark.IR.Kernels.Sizes
- module Futhark.IR.SegOp
Size operations
A simple size-level query or computation.
SplitSpace SplitOrdering SubExp SubExp SubExp |
Computes how to divide array elements to threads in a kernel. Returns the number of elements in the chunk that the current thread should take.
If the order If the order |
GetSize Name SizeClass | Produce some runtime-configurable size. |
GetSizeMax SizeClass | The maximum size of some class. |
CmpSizeLe Name SizeClass SubExp | Compare size (likely a threshold) with some integer value. |
CalcNumGroups SubExp Name SubExp |
|
Host operations
A host-level operation; parameterised by what else it can do.
Instances
typeCheckHostOp :: Checkable lore => (SegLevel -> OpWithAliases (Op lore) -> TypeM lore ()) -> Maybe SegLevel -> (op -> TypeM lore ()) -> HostOp (Aliases lore) op -> TypeM lore () Source #
SegOp refinements
At which level the *body* of a SegOp
executes.
Instances
Eq SegLevel Source # | |
Ord SegLevel Source # | |
Defined in Futhark.IR.Kernels.Kernel | |
Show SegLevel Source # | |
Pretty SegLevel Source # | |
FreeIn SegLevel Source # | |
Substitute SegLevel Source # | |
Defined in Futhark.IR.Kernels.Kernel | |
Rename SegLevel Source # | |
Simplifiable SegLevel Source # | |
Defined in Futhark.IR.Kernels.Kernel |
Reexports
module Futhark.IR.Kernels.Sizes
module Futhark.IR.SegOp