futhark-0.25.32: An optimising compiler for a functional, array-oriented language.

Safe Haskell | None
Language | GHC2021

Futhark.CodeGen.ImpGen.Multicore.SegRed

Synopsis

- compileSegRed :: Pat LetDecMem -> SegSpace -> [SegBinOp MCMem] -> KernelBody MCMem -> TV Int32 -> MulticoreGen MCCode
- compileSegRed' :: Pat LetDecMem -> SegSpace -> [SegBinOp MCMem] -> TV Int32 -> DoSegBody -> MulticoreGen MCCode
- type DoSegBody = ([[(SubExp, [TExp Int64])]] -> MulticoreGen ()) -> MulticoreGen ()

# Documentation

compileSegRed :: Pat LetDecMem -> SegSpace -> [SegBinOp MCMem] -> KernelBody MCMem -> TV Int32 -> MulticoreGen MCCode Source #

Generate code for a SegRed construct

compileSegRed' :: Pat LetDecMem -> SegSpace -> [SegBinOp MCMem] -> TV Int32 -> DoSegBody -> MulticoreGen MCCode Source #

Like `compileSegRed`, but where the body is a monadic action.

type DoSegBody = ([[(SubExp, [TExp Int64])]] -> MulticoreGen ()) -> MulticoreGen () Source #