futhark-0.22.4: An optimising compiler for a functional, array-oriented language.
Safe HaskellSafe-Inferred
LanguageHaskell2010

Futhark.IR.GPU.Simplify

Synopsis

Documentation

data GPU Source #

The phantom data type for the kernels representation.

Instances

Instances details
BuilderOps GPU Source # 
Instance details

Defined in Futhark.IR.GPU

Methods

mkExpDecB :: (MonadBuilder m, Rep m ~ GPU) => Pat (LetDec GPU) -> Exp GPU -> m (ExpDec GPU) Source #

mkBodyB :: (MonadBuilder m, Rep m ~ GPU) => Stms GPU -> Result -> m (Body GPU) Source #

mkLetNamesB :: (MonadBuilder m, Rep m ~ GPU) => [VName] -> Exp GPU -> m (Stm GPU) Source #

Buildable GPU Source # 
Instance details

Defined in Futhark.IR.GPU

PrettyRep GPU Source # 
Instance details

Defined in Futhark.IR.GPU

Methods

ppExpDec :: ExpDec GPU -> Exp GPU -> Maybe (Doc a) Source #

ASTRep GPU Source # 
Instance details

Defined in Futhark.IR.GPU

RepTypes GPU Source # 
Instance details

Defined in Futhark.IR.GPU

HasSegOp GPU Source # 
Instance details

Defined in Futhark.IR.GPU

Associated Types

type SegOpLevel GPU Source #

Checkable GPU Source # 
Instance details

Defined in Futhark.IR.GPU

CheckableOp GPU Source # 
Instance details

Defined in Futhark.IR.GPU

HasSOAC (Wise GPU) Source # 
Instance details

Defined in Futhark.IR.GPU.Simplify

HasSegOp (Wise GPU) Source # 
Instance details

Defined in Futhark.IR.GPU.Simplify

Associated Types

type SegOpLevel (Wise GPU) Source #

TraverseOpStms (Wise GPU) Source # 
Instance details

Defined in Futhark.IR.GPU.Simplify

BuilderOps (Wise GPU) Source # 
Instance details

Defined in Futhark.IR.GPU.Simplify

Methods

mkExpDecB :: (MonadBuilder m, Rep m ~ Wise GPU) => Pat (LetDec (Wise GPU)) -> Exp (Wise GPU) -> m (ExpDec (Wise GPU)) Source #

mkBodyB :: (MonadBuilder m, Rep m ~ Wise GPU) => Stms (Wise GPU) -> Result -> m (Body (Wise GPU)) Source #

mkLetNamesB :: (MonadBuilder m, Rep m ~ Wise GPU) => [VName] -> Exp (Wise GPU) -> m (Stm (Wise GPU)) Source #

type BodyDec GPU Source # 
Instance details

Defined in Futhark.IR.GPU

type BodyDec GPU = ()
type BranchType GPU Source # 
Instance details

Defined in Futhark.IR.GPU

type ExpDec GPU Source # 
Instance details

Defined in Futhark.IR.GPU

type ExpDec GPU = ()
type FParamInfo GPU Source # 
Instance details

Defined in Futhark.IR.GPU

type LParamInfo GPU Source # 
Instance details

Defined in Futhark.IR.GPU

type LetDec GPU Source # 
Instance details

Defined in Futhark.IR.GPU

type LetDec GPU = Type
type Op GPU Source # 
Instance details

Defined in Futhark.IR.GPU

type Op GPU = HostOp GPU (SOAC GPU)
type RetType GPU Source # 
Instance details

Defined in Futhark.IR.GPU

type SegOpLevel GPU Source # 
Instance details

Defined in Futhark.IR.GPU

type SegOpLevel (Wise GPU) Source # 
Instance details

Defined in Futhark.IR.GPU.Simplify

Building blocks

simplifyKernelOp :: (SimplifiableRep rep, BodyDec rep ~ ()) => SimplifyOp rep op -> HostOp (Wise rep) op -> SimpleM rep (HostOp (Wise rep) op, Stms (Wise rep)) Source #

Orphan instances

HasSOAC (Wise GPU) Source # 
Instance details

HasSegOp (Wise GPU) Source # 
Instance details

Associated Types

type SegOpLevel (Wise GPU) Source #

TraverseOpStms (Wise GPU) Source # 
Instance details

BuilderOps (Wise GPU) Source # 
Instance details

Methods

mkExpDecB :: (MonadBuilder m, Rep m ~ Wise GPU) => Pat (LetDec (Wise GPU)) -> Exp (Wise GPU) -> m (ExpDec (Wise GPU)) Source #

mkBodyB :: (MonadBuilder m, Rep m ~ Wise GPU) => Stms (Wise GPU) -> Result -> m (Body (Wise GPU)) Source #

mkLetNamesB :: (MonadBuilder m, Rep m ~ Wise GPU) => [VName] -> Exp (Wise GPU) -> m (Stm (Wise GPU)) Source #