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

Safe HaskellNone
LanguageHaskell2010

Futhark.Pass.ExtractKernels.BlockedKernel

Synopsis

Documentation

segGenRed Source #

Arguments

:: (MonadFreshNames m, HasScope Kernels m) 
=> Pattern Kernels 
-> SubExp 
-> [(VName, SubExp)]

Segment indexes and sizes.

-> [KernelInput] 
-> [GenReduceOp Kernels] 
-> Lambda Kernels 
-> [VName] 
-> m (Stms Kernels) 

getSize :: (MonadBinder m, Op (Lore m) ~ HostOp (Lore m) inner) => String -> SizeClass -> m SubExp Source #

segThread :: (MonadBinder m, Op (Lore m) ~ HostOp (Lore m) inner) => String -> m SegLevel Source #

segThreadCapped :: MonadFreshNames m => MkSegLevel m Source #

Like segThread, but cap the thread count to the input size. This is more efficient for small kernels, e.g. summing a small array.