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

Futhark.Optimise.ArrayLayout.Transform

Description

Do various kernel optimisations - mostly related to coalescing.

Documentation

class (Layout rep, PrimExpAnalysis rep) => Transform rep Source #

Minimal complete definition

onOp, transformOp

Instances

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

Transform MC Source # 
Instance details

Defined in Futhark.Optimise.ArrayLayout.Transform

Methods

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

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

transformStms :: (Transform rep, BuilderOps rep) => LayoutTable -> ExpMap rep -> Stms rep -> TransformM rep (Stms rep) Source #