| Safe Haskell | Safe-Inferred |
|---|---|
| Language | Haskell2010 |
Futhark.IR.MC.Op
Description
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.
Constructors
| 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