e8b7aa90c6687a69225ab6309cc705330acaad33
[packages/dph.git] / dph-prim-par / Data / Array / Parallel / Unlifted / Distributed.hs
1 -- | Distributed types and operations.
2 --
3 -- * This is an internal API and shouldn't need to be used directly.
4 -- Client programs should use "Data.Array.Parallel.Unlifted"
5 --
6 module Data.Array.Parallel.Unlifted.Distributed
7 ( -- * Gang operations
8 Gang, forkGang, gangSize
9
10 -- * Gang hacks
11 , theGang
12
13 -- * Distributed types and classes
14 , DT(..)
15
16 -- * Higher-order combinators
17 , mapD, zipWithD
18 , foldD
19 , scanD
20
21 -- * Equality
22 , eqD, neqD
23
24 -- * Distributed scalars
25 , scalarD
26 , andD, orD
27 , sumD
28
29 -- * Distributed pairs
30 , zipD, unzipD
31 , fstD, sndD
32
33 -- * Distributed arrays
34 , lengthD
35 , splitLenD
36 , splitLenIdxD
37 , splitD
38 , splitAsD
39 , joinLengthD
40 , joinD
41 , splitJoinD
42 , joinDM
43 , carryD
44
45 , Distribution
46 , balanced
47 , unbalanced
48
49 -- * Permutations
50 , permuteD, bpermuteD
51
52 -- * Update
53 , atomicUpdateD
54
55 -- * Debugging
56 , fromD, toD, debugD)
57 where
58 import Data.Array.Parallel.Unlifted.Distributed.Combinators
59 import Data.Array.Parallel.Unlifted.Distributed.Data.Bool
60 import Data.Array.Parallel.Unlifted.Distributed.Data.Scalar
61 import Data.Array.Parallel.Unlifted.Distributed.Data.Ordering ()
62 import Data.Array.Parallel.Unlifted.Distributed.Arrays
63 import Data.Array.Parallel.Unlifted.Distributed.Basics
64 import Data.Array.Parallel.Unlifted.Distributed.Primitive
65