edenskel-2.0.0.1: Semi-explicit parallel programming skeleton library

Portabilitynot portable
Stabilitybeta
Maintainereden@mathematik.uni-marburg.de
Safe HaskellNone

Control.Parallel.Eden.MapReduce

Contents

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

mapRedrSource

Arguments

:: (b -> c -> c)

reduce function

-> c

neutral for reduce function

-> (a -> b)

map function

-> [a]

input

-> c

result

mapRedlSource

Arguments

:: (c -> b -> c)

reduce function

-> c

neutral for reduce function

-> (a -> b)

map function

-> [a]

input

-> c

result

mapRedl'Source

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