Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Synopsis
- data SizeOp
- data HostOp rep op
- traverseHostOpStms :: Monad m => OpStmsTraverser m op rep -> OpStmsTraverser m (HostOp rep op) rep
- typeCheckHostOp :: Checkable rep => (SegLevel -> OpWithAliases (Op rep) -> TypeM rep ()) -> Maybe SegLevel -> (op -> TypeM rep ()) -> HostOp (Aliases rep) op -> TypeM rep ()
- data SegLevel
- module Futhark.IR.GPU.Sizes
- module Futhark.IR.SegOp
Size operations
A simple size-level query or computation.
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 |
|
Instances
Show SizeOp Source # | |
OpMetrics SizeOp Source # | |
IsOp SizeOp Source # | |
AliasedOp SizeOp Source # | |
FreeIn SizeOp Source # | |
TypedOp SizeOp Source # | |
Rename SizeOp Source # | |
Substitute SizeOp Source # | |
Defined in Futhark.IR.GPU.Op | |
Eq SizeOp Source # | |
Ord SizeOp Source # | |
Pretty SizeOp Source # | |
Defined in Futhark.IR.GPU.Op |
Host operations
A host-level operation; parameterised by what else it can do.
SegOp (SegOp SegLevel rep) | A segmented operation. |
SizeOp SizeOp | |
OtherOp op | |
GPUBody [Type] (Body rep) | Code to run sequentially on the GPU, in a single thread. |
Instances
traverseHostOpStms :: Monad m => OpStmsTraverser m op rep -> OpStmsTraverser m (HostOp rep op) rep Source #
A helper for defining TraverseOpStms
.
typeCheckHostOp :: Checkable rep => (SegLevel -> OpWithAliases (Op rep) -> TypeM rep ()) -> Maybe SegLevel -> (op -> TypeM rep ()) -> HostOp (Aliases rep) op -> TypeM rep () Source #
SegOp refinements
At which level the *body* of a SegOp
executes.
Instances
Show SegLevel Source # | |
FreeIn SegLevel Source # | |
Simplifiable SegLevel Source # | |
Defined in Futhark.IR.GPU.Op | |
Rename SegLevel Source # | |
Substitute SegLevel Source # | |
Defined in Futhark.IR.GPU.Op | |
Eq SegLevel Source # | |
Ord SegLevel Source # | |
Defined in Futhark.IR.GPU.Op | |
Pretty SegLevel Source # | |
Defined in Futhark.IR.GPU.Op |
Reexports
module Futhark.IR.GPU.Sizes
module Futhark.IR.SegOp