futhark-0.21.4: An optimising compiler for a functional, array-oriented language.
Safe HaskellNone
LanguageHaskell2010

Futhark.IR.GPU.Simplify

Synopsis

Documentation

data GPU Source #

The phantom data type for the kernels representation.

Instances

Instances details
RepTypes GPU Source # 
Instance details

Defined in Futhark.IR.GPU

PrettyRep GPU Source # 
Instance details

Defined in Futhark.IR.GPU

ASTRep GPU Source # 
Instance details

Defined in Futhark.IR.GPU

Buildable GPU Source # 
Instance details

Defined in Futhark.IR.GPU

BuilderOps GPU Source # 
Instance details

Defined in Futhark.IR.GPU

Methods

mkExpDecB :: (MonadBuilder m, Rep m ~ GPU) => Pat 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 #

Checkable GPU Source # 
Instance details

Defined in Futhark.IR.GPU

CheckableOp 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 #

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 (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 #

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 #

type LetDec GPU Source # 
Instance details

Defined in Futhark.IR.GPU

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

Defined in Futhark.IR.GPU

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

Defined in Futhark.IR.GPU

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

Defined in Futhark.IR.GPU

type LParamInfo GPU Source # 
Instance details

Defined in Futhark.IR.GPU

type RetType GPU Source # 
Instance details

Defined in Futhark.IR.GPU

type BranchType GPU Source # 
Instance details

Defined in Futhark.IR.GPU

type Op GPU Source # 
Instance details

Defined in Futhark.IR.GPU

type Op GPU = HostOp GPU (SOAC 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

TraverseOpStms (Wise GPU) Source # 
Instance details

BuilderOps (Wise GPU) Source # 
Instance details

Methods

mkExpDecB :: (MonadBuilder m, Rep m ~ Wise GPU) => Pat (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 #

HasSOAC (Wise GPU) Source # 
Instance details

HasSegOp (Wise GPU) Source # 
Instance details

Associated Types

type SegOpLevel (Wise GPU) Source #