Safe Haskell | None |
---|---|
Language | Haskell98 |
This module implements functions to build constraint / kvar dependency graphs, partition them and print statistics about their structure.
Synopsis
- data CPart c a = CPart {}
- partition :: (Fixpoint a, Fixpoint (c a), TaggedC c a) => Config -> GInfo c a -> IO (Result (Integer, a))
- partition' :: TaggedC c a => Maybe MCInfo -> GInfo c a -> [GInfo c a]
- partitionN :: MCInfo -> GInfo c a -> [CPart c a] -> [GInfo c a]
- data MCInfo = MCInfo {
- mcCores :: !Int
- mcMinPartSize :: !Int
- mcMaxPartSize :: !Int
- mcInfo :: Config -> IO MCInfo
- dumpPartitions :: (Fixpoint (c a), Fixpoint a) => Config -> [GInfo c a] -> IO ()
Split constraints
Constraint Partition Container --------------------------------------------
partition :: (Fixpoint a, Fixpoint (c a), TaggedC c a) => Config -> GInfo c a -> IO (Result (Integer, a)) Source #
partition' :: 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
:: MCInfo | describes thresholds and partiton 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 ------------------------------------------------------------
MCInfo | |
|