edenskel 2.0.0.2 → 2.1.0.0
raw patch · 3 files changed
+8/−8 lines, 3 filesPVP ok
version bump matches the API change (PVP)
API changes (from Hackage documentation)
- Control.Parallel.Eden.Topology: ring :: (Trans a, Trans b, Trans r) => (i -> [a]) -> ([b] -> o) -> (a -> [r] -> (b, [r])) -> i -> o
+ Control.Parallel.Eden.Topology: ring :: (Trans a, Trans b, Trans r) => (i -> [a]) -> ([b] -> o) -> (a -> r -> (b, r)) -> i -> o
- Control.Parallel.Eden.Topology: ringAt :: (Trans a, Trans b, Trans r) => Places -> (i -> [a]) -> ([b] -> o) -> (a -> [r] -> (b, [r])) -> i -> o
+ Control.Parallel.Eden.Topology: ringAt :: (Trans a, Trans b, Trans r) => Places -> (i -> [a]) -> ([b] -> o) -> (a -> r -> (b, r)) -> i -> o
- Control.Parallel.Eden.Topology: ringFl :: (Trans a, Trans b, Trans r) => (i -> [a]) -> ([b] -> o) -> [(a -> [r] -> (b, [r]))] -> i -> o
+ Control.Parallel.Eden.Topology: ringFl :: (Trans a, Trans b, Trans r) => (i -> [a]) -> ([b] -> o) -> [(a -> r -> (b, r))] -> i -> o
- Control.Parallel.Eden.Topology: ringFlAt :: (Trans a, Trans b, Trans r) => Places -> (i -> [a]) -> ([b] -> o) -> [(a -> [r] -> (b, [r]))] -> i -> o
+ Control.Parallel.Eden.Topology: ringFlAt :: (Trans a, Trans b, Trans r) => Places -> (i -> [a]) -> ([b] -> o) -> [(a -> r -> (b, r))] -> i -> o
Files
Control/Parallel/Eden/DivConq.hs view
@@ -112,7 +112,7 @@ where -- child process generation childRes = spawnAt childTickets childProcs procIns- childProcs = map (process . recDC) theirTs+ childProcs = map (process . \ts -> disDC k ts trivial solve split combine) theirTs -- ticket distribution (childTickets, restTickets) = splitAt (k-1) tickets (myTs: theirTs) = unshuffle k restTickets@@ -121,7 +121,7 @@ (procIns, localIns) = splitAt (length childTickets) theirIn -- local computations- myRes = recDC myTs myIn+ myRes = disDC k myTs trivial solve split combine myIn localRess = map seqDC localIns -- | offline distributed-expansion divide-and-conquer skeleton.
Control/Parallel/Eden/Topology.hs view
@@ -108,11 +108,11 @@ Places -- ^where to put workers -> (i -> [a]) -- ^distribute input -> ([b] -> o) -- ^combine output- -> [(a -> [r] -> (b,[r]))] -- ^ring process fcts+ -> [(a -> r -> (b,r))] -- ^ring process fcts -> i -- ^ring input -> o -- ^ring output ringFlAt places distrib combine fs i = combine os where- (os, ringOuts) = unzip $ spawnFAt places (map (toRD . uncurry) fs) + (os, ringOuts) = unzip $ spawnFAt places (map (toRD . uncurry) (cycle fs)) (zip (distrib i) $ lazy ringIns) ringIns = rightRotate ringOuts @@ -124,7 +124,7 @@ ringFl :: (Trans a,Trans b,Trans r) => (i -> [a]) -- ^distribute input -> ([b] -> o) -- ^combine output- -> [(a -> [r] -> (b,[r]))] -- ^ring process fcts+ -> [(a -> r -> (b,r))] -- ^ring process fcts -> i -- ^ring input -> o -- ^ring output ringFl = ringFlAt [0]@@ -138,7 +138,7 @@ Places -- ^where to put workers -> (i -> [a]) -- ^distribute input -> ([b] -> o) -- ^combine output- -> (a -> [r] -> (b,[r])) -- ^ring process fct+ -> (a -> r -> (b,r)) -- ^ring process fct -> i -- ^ring input -> o -- ^ring output ringAt places distrib combine f i =@@ -153,7 +153,7 @@ ring :: (Trans a,Trans b,Trans r) => (i -> [a]) -- ^distribute input -> ([b] -> o) -- ^combine output- -> (a -> [r] -> (b,[r])) -- ^ring process fct+ -> (a -> r -> (b,r)) -- ^ring process fct -> i -- ^ring input -> o -- ^ring output ring = ringAt [0]
edenskel.cabal view
@@ -1,5 +1,5 @@ name: edenskel-version: 2.0.0.2+version: 2.1.0.0 license: BSD3 license-file: LICENSE maintainer: eden@mathematik.uni-marburg.de