Safe Haskell | None |
---|---|
Language | Haskell2010 |
Definitions for multicore operations.
Most of the interesting stuff is in Futhark.IR.SegOp, which is also re-exported from here.
Synopsis
- data MCOp rep op
- traverseMCOpStms :: Monad m => OpStmsTraverser m op rep -> OpStmsTraverser m (MCOp rep op) rep
- typeCheckMCOp :: Checkable rep => (op -> TypeM rep ()) -> MCOp (Aliases rep) op -> TypeM rep ()
- simplifyMCOp :: (SimplifiableRep rep, BodyDec rep ~ ()) => SimplifyOp rep op -> MCOp (Wise rep) op -> SimpleM rep (MCOp (Wise rep) op, Stms (Wise rep))
- module Futhark.IR.SegOp
Documentation
An operation for the multicore representation. Feel free to extend this on an ad hoc basis as needed. Parameterised with some other operation.
ParOp (Maybe (SegOp () rep)) (SegOp () rep) | The first |
OtherOp op | Something else (in practice often a SOAC). |
Instances
traverseMCOpStms :: Monad m => OpStmsTraverser m op rep -> OpStmsTraverser m (MCOp rep op) rep Source #
typeCheckMCOp :: Checkable rep => (op -> TypeM rep ()) -> MCOp (Aliases rep) op -> TypeM rep () Source #
simplifyMCOp :: (SimplifiableRep rep, BodyDec rep ~ ()) => SimplifyOp rep op -> MCOp (Wise rep) op -> SimpleM rep (MCOp (Wise rep) op, Stms (Wise rep)) Source #
module Futhark.IR.SegOp