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

Futhark.IR.GPU.Simplify

Synopsis

Documentation

data GPU Source #

The phantom data type for the kernels representation.

Instances

Instances details
Analyse GPU Source # 
Instance details

Defined in Futhark.Analysis.AccessPattern

PrimExpAnalysis GPU Source # 
Instance details

Defined in Futhark.Analysis.PrimExp.Table

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

Transform GPU Source # 
Instance details

Defined in Futhark.Optimise.ArrayLayout.Transform

Methods

onOp :: Monad m => SOACMapper GPU GPU m -> Op GPU -> m (Op GPU)

transformOp :: LayoutTable -> ExpMap GPU -> Stm GPU -> Op GPU -> TransformM GPU (LayoutTable, ExpMap GPU)

Layout GPU Source # 
Instance details

Defined in Futhark.Optimise.ArrayLayout.Layout

BuilderOps (Wise GPU) Source # 
Instance details

Defined in Futhark.IR.GPU.Simplify

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

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 OpC GPU Source # 
Instance details

Defined in Futhark.IR.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 (Wise rep)) -> HostOp op (Wise rep) -> SimpleM rep (HostOp op (Wise rep), Stms (Wise rep)) Source #

Orphan instances

BuilderOps (Wise GPU) Source # 
Instance details

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