-- | Distributed types and operations. module Data.Array.Parallel.Unlifted.Distributed ( -- * Gang operations Gang, forkGang, gangSize, -- * Gang hacks theGang, -- * Distributed types and classes DT(..), -- * Higher-order combinators mapD, zipWithD, foldD, scanD, -- * Equality eqD, neqD, -- * Distributed scalars scalarD, andD, orD, sumD, -- * Distributed pairs zipD, unzipD, fstD, sndD, -- * Distributed arrays lengthD, splitLenD, splitLenIdxD, splitD, splitAsD, joinLengthD, joinD, splitJoinD, joinDM, splitSegdD, splitSegdD', splitSD, lengthUSegdD, lengthsUSegdD, indicesUSegdD, elementsUSegdD, Distribution, balanced, unbalanced, -- * Permutations permuteD, bpermuteD, atomicUpdateD, -- * Debugging fromD, toD, debugD ) where import Data.Array.Parallel.Unlifted.Distributed.Gang ( Gang, forkGang, gangSize) import Data.Array.Parallel.Unlifted.Distributed.TheGang import Data.Array.Parallel.Unlifted.Distributed.Types import Data.Array.Parallel.Unlifted.Distributed.Combinators import Data.Array.Parallel.Unlifted.Distributed.Scalars import Data.Array.Parallel.Unlifted.Distributed.Arrays import Data.Array.Parallel.Unlifted.Distributed.Basics