Safe Haskell | None |
---|---|
Language | Haskell2010 |
Documentation
type KernelsStms = Stms Kernels Source #
mapLoopStm :: MapLoop -> Stm Source #
bodyContainsParallelism :: Body -> Bool Source #
determineReduceOp :: (MonadBinder m, Lore m ~ Kernels) => Lambda -> [SubExp] -> m (Lambda Kernels, [SubExp], Shape) Source #
genReduceKernel :: (MonadFreshNames m, HasScope Kernels m) => Pattern -> [(VName, SubExp)] -> [KernelInput] -> Certificates -> SubExp -> [GenReduceOp SOACS] -> Lambda Kernels -> [VName] -> m KernelsStms Source #
DistEnv | |
|
runDistNestT :: MonadLogger m => DistEnv m -> DistNestT m DistAcc -> m (Stms Kernels) Source #
Instances
MonadTrans DistNestT Source # | |
Defined in Futhark.Pass.ExtractKernels.DistributeNests | |
Monad m => LocalScope Kernels (DistNestT m) Source # | |
Defined in Futhark.Pass.ExtractKernels.DistributeNests | |
Monad m => HasScope Kernels (DistNestT m) Source # | |
Monad m => Monad (DistNestT m) Source # | |
Functor m => Functor (DistNestT m) Source # | |
Applicative m => Applicative (DistNestT m) Source # | |
Defined in Futhark.Pass.ExtractKernels.DistributeNests | |
Monad m => MonadLogger (DistNestT m) Source # | |
MonadFreshNames m => MonadFreshNames (DistNestT m) Source # | |
Defined in Futhark.Pass.ExtractKernels.DistributeNests getNameSource :: DistNestT m VNameSource Source # putNameSource :: VNameSource -> DistNestT m () Source # | |
Monad m => MonadReader (DistEnv m) (DistNestT m) Source # | |
distributeMap :: MonadFreshNames m => MapLoop -> DistAcc -> DistNestT m DistAcc Source #
distribute :: MonadFreshNames m => DistAcc -> DistNestT m DistAcc Source #
distributeSingleStm :: MonadFreshNames m => DistAcc -> Stm -> DistNestT m (Maybe (PostKernels, Result, KernelNest, DistAcc)) Source #
distributeMapBodyStms :: MonadFreshNames m => DistAcc -> Stms SOACS -> DistNestT m DistAcc Source #
postKernelsStms :: PostKernels -> KernelsStms Source #
addStmsToKernel :: KernelsStms -> DistAcc -> DistAcc Source #
addKernels :: Monad m => PostKernels -> DistNestT m () Source #