kempnerpulse.compute.pipeline

The Compute layer entry point — CanonicalRecord to ComputedRecord.

compute_record runs the full per-sample pipeline: the Real Utilization composite, the workload classification, health, and the convenience derivations (memory totals/fraction and the differenced PCIe replay rate). compute_tick applies it across one tick’s records, threading the per-GPU previous record so the replay-rate differencing works across ticks.

Functions

compute_record(record, *[, prev, weights, ...])

Compute every derived signal for one canonical record.

compute_tick(records[, prev_by_index])

Compute one tick's records, threading the previous record per GPU.

kempnerpulse.compute.pipeline.compute_record(record, *, prev=None, weights=(0.35, 0.35, 0.2, 0.1), preset_name=None, model_name=None)[source]

Compute every derived signal for one canonical record.

prev is the same GPU’s previous record (used only for the replay-rate difference). weights is the composite weight tuple; preset_name is resolved from the weights when not supplied. model_name rides through to the result and selects the per-model temperature warning.

Parameters:
Return type:

ComputedRecord

kempnerpulse.compute.pipeline.compute_tick(records, prev_by_index=None, **opts)[source]

Compute one tick’s records, threading the previous record per GPU.

prev_by_index maps entity_gpu_index to that GPU’s previous canonical record; it is updated in place so a caller can reuse the same dict across ticks. Any prev in opts is ignored in favour of the per-GPU lookup.

Parameters:

prev_by_index (Dict[int, CanonicalRecord] | None)

Return type:

List[ComputedRecord]