-- DPH programs always used a single, shared gang of threads. -- The gang exists at top level, and is initialised unsafely. -- -- The Vectoriser guarantees that the gang is only used by a single -- computation at a time. -- module Data.Array.Parallel.Unlifted.Distributed.TheGang ( theGang ) where import Data.Array.Parallel.Unlifted.Distributed.Gang import System.IO.Unsafe (unsafePerformIO) import GHC.Conc (numCapabilities) theGang :: Gang {-# NOINLINE theGang #-} theGang = unsafePerformIO (forkGang numCapabilities)