| Safe Haskell | None |
|---|---|
| Language | Haskell98 |
Language.Fixpoint.Graph.Partition
Description
This module implements functions to build constraint / kvar dependency graphs, partition them and print statistics about their structure.
Synopsis
- data CPart (c :: Type -> Type) a = CPart {}
- partition :: forall a (c :: Type -> Type). (Fixpoint a, Fixpoint (c a), TaggedC c a) => Config -> GInfo c a -> IO (Result (Integer, a))
- partition' :: forall (c :: Type -> Type) a. TaggedC c a => Maybe MCInfo -> GInfo c a -> [GInfo c a]
- partitionN :: forall (c :: Type -> Type) a. MCInfo -> GInfo c a -> [CPart c a] -> [GInfo c a]
- data MCInfo = MCInfo {
- mcCores :: !Int
- mcMinPartSize :: !Int
- mcMaxPartSize :: !Int
- mcInfo :: Config -> IO MCInfo
- dumpPartitions :: forall (c :: Type -> Type) a. (Fixpoint (c a), Fixpoint a) => Config -> [GInfo c a] -> IO ()
Split constraints
data CPart (c :: Type -> Type) a Source #
Constraint Partition Container --------------------------------------------
partition :: forall a (c :: Type -> Type). (Fixpoint a, Fixpoint (c a), TaggedC c a) => Config -> GInfo c a -> IO (Result (Integer, a)) Source #
partition' :: forall (c :: Type -> Type) a. TaggedC c a => Maybe MCInfo -> GInfo c a -> [GInfo c a] Source #
Partition an FInfo into multiple disjoint FInfos. Info is Nothing to produce the maximum possible number of partitions. Or a MultiCore Info to control the partitioning
Arguments
| :: forall (c :: Type -> Type) a. MCInfo | Describes thresholds and partition amounts |
| -> GInfo c a | The originial FInfo |
| -> [CPart c a] | A list of the smallest possible CParts |
| -> [GInfo c a] | At most N partitions of at least thresh work |
Partition an FInfo into a specific number of partitions of roughly equal amounts of work.
Information about cores
Multicore info ------------------------------------------------------------
Constructors
| MCInfo | |
Fields
| |