dph-prim-par-0.3: Parallel Primitives for Data-Parallel Haskell.ContentsIndex
Data.Array.Parallel.Unlifted.Parallel
Portabilityportable
Stabilityexperimental
MaintainerRoman Leshchinskiy <rl@cse.unsw.edu.au>
Description

Description ---------------------------------------------------------------

Parallel operations on unlifted arrays

Synopsis
bpermuteUP :: UA a => UArr a -> UArr Int -> UArr a
updateUP :: forall a. UA a => UArr a -> UArr (Int :*: a) -> UArr a
enumFromToUP :: (UA a, Enum a) => a -> a -> UArr a
enumFromThenToUP :: (UA a, Enum a) => a -> a -> a -> UArr a
enumFromStepLenUP :: Int -> Int -> Int -> UArr Int
mapUP :: (UA a, UA b) => (a -> b) -> UArr a -> UArr b
filterUP :: UA a => (a -> Bool) -> UArr a -> UArr a
packUP :: UA e => UArr e -> UArr Bool -> UArr e
zipWithUP :: (UA a, UA b, UA c) => (a -> b -> c) -> UArr a -> UArr b -> UArr c
foldUP :: (UA a, DT a) => (a -> a -> a) -> a -> UArr a -> a
scanUP :: (DT a, UA a) => (a -> a -> a) -> a -> UArr a -> UArr a
andUP :: UArr Bool -> Bool
sumUP :: (UA a, DT a, Num a) => UArr a -> a
mapSUP :: (UA a, UA b) => (a -> b) -> SUArr a -> SUArr b
filterSUP :: UA e => (e -> Bool) -> SUArr e -> SUArr e
packCUP :: UA e => UArr Bool -> SUArr e -> SUArr e
zipWithSUP :: (UA a, UA b, UA c) => (a -> b -> c) -> SUArr a -> SUArr b -> SUArr c
foldSUP :: (UA a, UA b) => (b -> a -> b) -> b -> SUArr a -> UArr b
sumSUP :: (Num e, UA e) => SUArr e -> UArr e
bpermuteSUP' :: UA a => UArr a -> SUArr Int -> SUArr a
enumFromThenToSUP :: (Enum e, UA e) => UArr e -> UArr e -> UArr e -> SUArr e
replicateSUP :: UA e => UArr Int -> UArr e -> SUArr e
indexedSUP :: UA e => SUArr e -> SUArr (Int :*: e)
indexedUP :: (DT e, UA e) => UArr e -> UArr (Int :*: e)
replicateUP :: UA e => Int -> e -> UArr e
replicateEachUnbalancedUP :: UA e => UArr Int -> UArr e -> UArr e
dropUP :: Int -> UArr Int -> UArr Int
Documentation
bpermuteUP :: UA a => UArr a -> UArr Int -> UArr a
updateUP :: forall a. UA a => UArr a -> UArr (Int :*: a) -> UArr a
enumFromToUP :: (UA a, Enum a) => a -> a -> UArr a
enumFromThenToUP :: (UA a, Enum a) => a -> a -> a -> UArr a
enumFromStepLenUP :: Int -> Int -> Int -> UArr Int
mapUP :: (UA a, UA b) => (a -> b) -> UArr a -> UArr b
filterUP :: UA a => (a -> Bool) -> UArr a -> UArr a
packUP :: UA e => UArr e -> UArr Bool -> UArr e
Extract all elements from an array according to a given flag array
zipWithUP :: (UA a, UA b, UA c) => (a -> b -> c) -> UArr a -> UArr b -> UArr c
foldUP :: (UA a, DT a) => (a -> a -> a) -> a -> UArr a -> a
scanUP :: (DT a, UA a) => (a -> a -> a) -> a -> UArr a -> UArr a
andUP :: UArr Bool -> Bool
sumUP :: (UA a, DT a, Num a) => UArr a -> a
mapSUP :: (UA a, UA b) => (a -> b) -> SUArr a -> SUArr b
filterSUP :: UA e => (e -> Bool) -> SUArr e -> SUArr e
Filter segmented array
packCUP :: UA e => UArr Bool -> SUArr e -> SUArr e
zipWithSUP :: (UA a, UA b, UA c) => (a -> b -> c) -> SUArr a -> SUArr b -> SUArr c
foldSUP :: (UA a, UA b) => (b -> a -> b) -> b -> SUArr a -> UArr b
sumSUP :: (Num e, UA e) => SUArr e -> UArr e
bpermuteSUP' :: UA a => UArr a -> SUArr Int -> SUArr a
enumFromThenToSUP :: (Enum e, UA e) => UArr e -> UArr e -> UArr e -> SUArr e
Yield a segmented enumerated array using a specific step (unbalanced)
replicateSUP :: UA e => UArr Int -> UArr e -> SUArr e
indexedSUP :: UA e => SUArr e -> SUArr (Int :*: e)
Associate each data element with its index
indexedUP :: (DT e, UA e) => UArr e -> UArr (Int :*: e)
Associate each element of the array with its index
replicateUP :: UA e => Int -> e -> UArr e
Yield an array where all elements contain the same value
replicateEachUnbalancedUP :: UA e => UArr Int -> UArr e -> UArr e
Expand every element in the argument array by the factor given in the corresponding array. The resulting array is unbalanced. TODO: do we need a balanced version? Will probably provide no performance benefit
dropUP :: Int -> UArr Int -> UArr Int
Produced by Haddock version 2.3.0