stormlog.collective_attribution

Heuristics for attributing hidden-memory spikes to collective communication.

Functions

attribute_collective_memory(events, *[, ...])

Attribute hidden-memory spikes to communication phases using hybrid signals.

resolve_collective_attribution_config([...])

Resolve a preset config with optional per-threshold overrides.

Classes

CollectiveAttributionConfig([preset, ...])

Runtime knobs for collective-memory attribution heuristics.

CollectiveAttributionEvidence(marker_hits, ...)

Evidence fields backing one collective-attribution output.

CollectiveAttributionResult(rank, ...[, ...])

Communication-attributed hidden-memory interval.

class stormlog.collective_attribution.CollectiveAttributionConfig(preset='medium', min_samples_per_rank=6, min_gap_bytes=134217728, min_gap_ratio=0.04, robust_zscore_threshold=2.5, marker_window_ns=150000000, interval_padding_ns=120000000, synchrony_window_ns=120000000, min_synchrony_ratio=0.5, min_confidence=0.5)[source]

Bases: object

Runtime knobs for collective-memory attribution heuristics.

Parameters:
  • preset (str)

  • min_samples_per_rank (int)

  • min_gap_bytes (int)

  • min_gap_ratio (float)

  • robust_zscore_threshold (float)

  • marker_window_ns (int)

  • interval_padding_ns (int)

  • synchrony_window_ns (int)

  • min_synchrony_ratio (float)

  • min_confidence (float)

preset: str = 'medium'
min_samples_per_rank: int = 6
min_gap_bytes: int = 134217728
min_gap_ratio: float = 0.04
robust_zscore_threshold: float = 2.5
marker_window_ns: int = 150000000
interval_padding_ns: int = 120000000
synchrony_window_ns: int = 120000000
min_synchrony_ratio: float = 0.5
min_confidence: float = 0.5
class stormlog.collective_attribution.CollectiveAttributionEvidence(marker_hits, synchronized_ranks, expected_world_size, synchrony_ratio, peak_gap_bytes, peak_gap_ratio, robust_zscore)[source]

Bases: object

Evidence fields backing one collective-attribution output.

Parameters:
  • marker_hits (int)

  • synchronized_ranks (int)

  • expected_world_size (int)

  • synchrony_ratio (float)

  • peak_gap_bytes (int)

  • peak_gap_ratio (float | None)

  • robust_zscore (float)

marker_hits: int
synchronized_ranks: int
expected_world_size: int
synchrony_ratio: float
peak_gap_bytes: int
peak_gap_ratio: float | None
robust_zscore: float
class stormlog.collective_attribution.CollectiveAttributionResult(rank, interval_start_ns, interval_end_ns, classification, confidence, reason_codes=<factory>, evidence=None, phase_attribution=None)[source]

Bases: object

Communication-attributed hidden-memory interval.

Parameters:
rank: int
interval_start_ns: int
interval_end_ns: int
classification: str
confidence: float
reason_codes: list[str]
evidence: CollectiveAttributionEvidence | None = None
phase_attribution: PhaseAttribution | None = None
stormlog.collective_attribution.attribute_collective_memory(events, *, config=None, preset='medium', overrides=None, phase_resolver=None)[source]

Attribute hidden-memory spikes to communication phases using hybrid signals.

Parameters:
Return type:

list[CollectiveAttributionResult]

stormlog.collective_attribution.resolve_collective_attribution_config(preset='medium', overrides=None)[source]

Resolve a preset config with optional per-threshold overrides.

Parameters:
  • preset (str)

  • overrides (Mapping[str, Any] | None)

Return type:

CollectiveAttributionConfig