futhark-0.25.30: An optimising compiler for a functional, array-oriented language.
Safe HaskellNone
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

Associated Types

type LetDec GPU 
Instance details

Defined in Futhark.IR.GPU

type LetDec GPU = Type
type ExpDec GPU 
Instance details

Defined in Futhark.IR.GPU

type ExpDec GPU = ()
type BodyDec GPU 
Instance details

Defined in Futhark.IR.GPU

type BodyDec GPU = ()
type FParamInfo GPU 
Instance details

Defined in Futhark.IR.GPU

type LParamInfo GPU 
Instance details

Defined in Futhark.IR.GPU

type RetType GPU 
Instance details

Defined in Futhark.IR.GPU

type BranchType GPU 
Instance details

Defined in Futhark.IR.GPU

type OpC GPU 
Instance details

Defined in Futhark.IR.GPU

HasSegOp GPU Source # 
Instance details

Defined in Futhark.IR.GPU

Associated Types

type SegOpLevel GPU 
Instance details

Defined in Futhark.IR.GPU

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) 
Instance details

Defined in Futhark.IR.GPU.Simplify

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) 
Instance details

Defined in Futhark.IR.GPU.Simplify

TraverseOpStms (Wise GPU) Source # 
Instance details