Name: meta-par Version: 0.3 Synopsis: Provides the monad-par interface, but based on modular scheduler "mix-ins". -- Version history: -- 0.3: Initial release. Description: This library provides a composable abstraction for /Resources/ which can be mixed and matched to build /Schedulers/. A `Resource` typically corresponds to a specific kind of hardware or to a style of scheduling. This package contains implementations of basic `Resource`s that implement parallel scheduling on the CPU. To use a complete meta-par Scheduler, import Control.Monad.Par.SMP for example, which will provide a `runPar` as well as instances for the relevant classes that enable `Par` programming (e.g. `ParFuture`). Homepage: https://github.com/simonmar/monad-par License: BSD3 License-file: LICENSE Author: Adam Foltzer, Ryan Newton Maintainer: Adam Foltzer Copyright: (c) Adam Foltzer 2011-2012 Stability: Experimental Category: Control,Parallelism,Monads Build-type: Simple Cabal-version: >=1.8 extra-source-files: include/pin.h Library Exposed-modules: -- Meta scheduler and friends Control.Monad.Par.Meta -- A complete scheduler: , Control.Monad.Par.Meta.SMP , Control.Monad.Par.Meta.Serial -- Mostly internal modules for use to build other schedulers: , Control.Monad.Par.Meta.Resources.SingleThreaded , Control.Monad.Par.Meta.Resources.SMP , Control.Monad.Par.Meta.Resources.Backoff , Control.Monad.Par.Meta.Resources.Debugging , Control.Monad.Par.Meta.HotVar.IORef -- NOTE: NUMA not released yet. Build-depends: base >= 4 && < 5 -- This provides the interface for monad-par: , abstract-par , abstract-deque >= 0.1.4 , mwc-random >= 0.11 , containers , bytestring >= 0.9 , transformers >= 0.2.2.0 , deepseq >= 1.2 , vector -- , cereal >= 0.3 , mtl >= 2.0.1.0 if flag(affinity) { CPP-options: -DAFFINITY } if flag(affinity) { Other-modules: System.Posix.Affinity } if flag(affinity) { c-sources: cbits/pin.c include-dirs: include includes: pin.h } ghc-options: -Wall Flag affinity Description: Turn on pinning to CPUs via pthread/linux scheduler calls. Default: False