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

Futhark.Pass.ExtractKernels.BlockedKernel

Synopsis

Documentation

segHist Source #

Arguments

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

Segment indexes and sizes.

-> [KernelInput] 
-> [HistOp 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.