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

Futhark.Optimise.Fusion.LoopKernel

Documentation

data FusedKer Source #

Constructors

FusedKer 

Fields

  • fsoac :: SOAC

    the SOAC expression, e.g., mapT( f(a,b), x, y )

  • inplace :: Names

    Variables used in in-place updates in the kernel itself, as well as on the path to the kernel from the current position. This is used to avoid fusion that would violate in-place restrictions.

  • fusedVars :: [VName]

    whether at least a fusion has been performed.

  • fusedConsumed :: Names

    The set of variables that were consumed by the SOACs contributing to this kernel. Note that, by the type rules, the final SOAC may actually consume _more_ than its original contributors, which implies the need for Copy expressions.

  • kernelScope :: Scope SOACS

    The names in scope at the kernel.

  • outputTransform :: ArrayTransforms
     
  • outNames :: [VName]
     
  • kerAux :: StmAux ()
     

Instances

Instances details
Show FusedKer Source # 
Instance details

Defined in Futhark.Optimise.Fusion.LoopKernel