edenskel-2.0.0.1: Semi-explicit parallel programming skeleton library

Portability not portable beta eden@mathematik.uni-marburg.de None

Control.Parallel.Eden.MapReduce

Description

This Haskell module defines map-reduce skeletons for the parallel functional language Eden.

Depends on GHC. Using standard GHC, you will get a threaded simulation of Eden. Use the forked GHC-Eden compiler from http://www.mathematik.uni-marburg.de/~eden for a parallel build.

Eden Group ( http://www.mathematik.uni-marburg.de/~eden ) Depends on the Eden Compiler.

Synopsis

# Sequential map-reduce definitions

Arguments

 :: (b -> c -> c) reduce function -> c neutral for reduce function -> (a -> b) map function -> [a] input -> c result

Arguments

 :: (c -> b -> c) reduce function -> c neutral for reduce function -> (a -> b) map function -> [a] input -> c result

Arguments

 :: (c -> b -> c) reduce function -> c neutral for reduce function -> (a -> b) map function -> [a] input -> c result

# Simple map-reduce skeletons

parMapRedr :: (Trans a, Trans b) => (b -> b -> b) -> b -> (a -> b) -> [a] -> bSource

Basic parMapRedr skeleton - as many processes as noPe. local pre-folding per PE and final folding of PE-results via different fold variants

parMapRedl :: (Trans a, Trans b) => (b -> b -> b) -> b -> (a -> b) -> [a] -> bSource

Basic parMapRedl skeleton - as many processes as noPe. local pre-folding per PE and final folding of PE-results via different fold variants

parMapRedl' :: (Trans a, Trans b) => (b -> b -> b) -> b -> (a -> b) -> [a] -> bSource

Basic parMapRedl' skeleton - as many processes as noPe. local pre-folding per PE and final folding of PE-results via different fold variants

# offline map-reduce skeletons

offlineParMapRedr :: (Trans a, Trans b) => (b -> b -> b) -> b -> (a -> b) -> [a] -> bSource

Offline parMapRedr skeleton - as many processes as noPe. local pre-folding per PE and final folding of PE-results via different fold variants, BUT local selection of input sub-list by worker processes

offlineParMapRedl :: (Trans a, Trans b) => (b -> b -> b) -> b -> (a -> b) -> [a] -> bSource

Offline parMapRedl skeleton - as many processes as noPe. local pre-folding per PE and final folding of PE-results via different fold variants, BUT local selection of input sub-list by worker processes

offlineParMapRedl' :: (Trans a, Trans b) => (b -> b -> b) -> b -> (a -> b) -> [a] -> bSource

Offline parMapRedl' skeleton - as many processes as noPe. local pre-folding per PE and final folding of PE-results via different fold variants, BUT local selection of input sub-list by worker processes