steady_state
steady_state
¶
Steady-state detection for energy measurement at thermal equilibrium.
Classes¶
SteadyStateConfig
dataclass
¶
SteadyStateConfig(
warmup_samples: int = 5,
window_size: int = 5,
cv_threshold: float = 0.05,
min_steady_samples: int = 3,
metric: str = "throughput",
)
Configuration for steady-state detection.
SteadyStateResult
dataclass
¶
SteadyStateResult(
total_samples: int = 0,
warmup_samples: int = 0,
steady_state_samples: int = 0,
steady_state_reached: bool = False,
warmup_throughputs: List[float] = list(),
warmup_energies: List[float] = list(),
steady_throughputs: List[float] = list(),
steady_energies: List[float] = list(),
)
Result of steady-state detection.
SteadyStateDetector
¶
SteadyStateDetector(
config: SteadyStateConfig | None = None,
)
Detect steady state using coefficient of variation over a sliding window.
The first warmup_samples recordings are always classified as warmup.
After warmup, the CV (stdev / mean) of the last window_size values is
checked. When CV < cv_threshold for min_steady_samples consecutive
checks, steady state is declared.
Source code in src/diapason/telemetry/steady_state.py
Attributes¶
Methods:¶
record
¶
Record a sample. Returns True when steady state is reached.