| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Futhark.IR.Kernels.Kernel
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.
Constructors
| 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