Safe Haskell | Safe-Inferred |
---|---|
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 op rep
- traverseMCOpStms :: Monad m => OpStmsTraverser m (op rep) rep -> OpStmsTraverser m (MCOp op rep) rep
- typeCheckMCOp :: Checkable rep => (op (Aliases rep) -> TypeM rep ()) -> MCOp op (Aliases rep) -> TypeM rep ()
- simplifyMCOp :: (SimplifiableRep rep, BodyDec rep ~ ()) => SimplifyOp rep (op (Wise rep)) -> MCOp op (Wise rep) -> SimpleM rep (MCOp op (Wise rep), 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 rep) | Something else (in practice often a SOAC). |
Instances
traverseMCOpStms :: Monad m => OpStmsTraverser m (op rep) rep -> OpStmsTraverser m (MCOp op rep) rep Source #
typeCheckMCOp :: Checkable rep => (op (Aliases rep) -> TypeM rep ()) -> MCOp op (Aliases rep) -> TypeM rep () Source #
simplifyMCOp :: (SimplifiableRep rep, BodyDec rep ~ ()) => SimplifyOp rep (op (Wise rep)) -> MCOp op (Wise rep) -> SimpleM rep (MCOp op (Wise rep), Stms (Wise rep)) Source #
module Futhark.IR.SegOp