pyphi.cost#
Analytic workload counting for single-system analyses.
Counts the work a pyphi.analyze() call would perform — system
partitions swept by the system irreducibility analysis, candidate
mechanisms, connectivity-pruned purview evaluations, and mechanism
partitions per (mechanism, purview) pair — without computing any φ.
Counts are produced by driving the same enumeration machinery the
analysis uses under the active configuration, so the partition schemes,
the connectivity, and the alphabet are all reflected exactly.
Counts are turned into work units by weighting each axis by its measured
relative cost, so a unit is the same amount of work whatever mix of
purview evaluations and partition sweeps produces it. One further
constant, SECONDS_PER_UNIT, converts units to CPU seconds on
reference hardware; units_for_runtime() inverts it, which is how a
per-shard runtime target becomes a units_per_job budget.
Module attributes
Work units one purview evaluation costs, taking one partition as the unit. |
|
CPU seconds one work unit costs on reference hardware. |
|
Repertoires concurrently alive during a mechanism-partition sweep. |
|
interpreter, imports, substrate TPM, task payload. |
|
Memory a shard's request grants its repertoire caches. |
Functions
|
Count the workload of a single-system analysis, without running it. |
|
Per-mechanism workload under a scope, keyed by mechanism. |
|
Memoized mechanism-partition count for one (mechanism, purview) pair under the active mechanism partition scheme. |
Round a byte count up to the next 512 MB request boundary. |
|
|
Estimated CPU seconds to compute |
|
Cache ceiling for a shard whose memory request is |
|
Estimated peak memory of a shard from its largest repertoire. |
|
The |
Classes
|
The workload of a single-system analysis, before running it. |
|
One mechanism's scoped workload and peak-memory driver. |