kempnerpulse.compute.result

Compute-layer output types — the Compute → Present contract.

A ComputedRecord wraps the per-sample CanonicalRecord (so the presenter still has every metric value) together with the derived signals the Compute layer produces: the Real Utilization score, the workload classification, health, and a few convenience derivations. Presenters and the CSV writer consume ComputedRecord; they convert canonical fractions to display units (×100, bytes/s → GB/s, …) themselves.

Classes

BottleneckCategory

The coarse five-way rollup used for summary colouring.

ComputedRecord

One fully-computed per-GPU sample: canonical metrics + derived signals.

WorkloadClass

The twelve mutually-exclusive workload categories.

class kempnerpulse.compute.result.BottleneckCategory[source]

Bases: Enum

The coarse five-way rollup used for summary colouring.

IDLE = 'idle'
COMPUTE = 'compute'
IO = 'io'
MEMORY = 'memory'
MIXED = 'mixed'
class kempnerpulse.compute.result.WorkloadClass[source]

Bases: Enum

The twelve mutually-exclusive workload categories.

The value is the exact human-readable status label. bottleneck gives the coarse rollup; label is the display string.

IDLE = 'idle'
TENSOR_HEAVY_COMPUTE = 'tensor-heavy compute'
TENSOR_COMPUTE = 'tensor compute'
FP64_HPC_COMPUTE = 'FP64 / HPC compute'
IO_OR_DATA_LOADING = 'I/O or data-loading'
MEMORY_BOUND = 'memory-bound'
COMPUTE_HEAVY = 'compute-heavy'
COMPUTE_ACTIVE = 'compute-active'
MEMORY_ACTIVE = 'memory-active'
BUSY_LOW_SM_USE = 'busy, low SM use'
LOW_UTILIZATION = 'low utilization'
MIXED_OR_MODERATE = 'mixed / moderate'
property label: str
property bottleneck: BottleneckCategory
class kempnerpulse.compute.result.ComputedRecord[source]

Bases: object

One fully-computed per-GPU sample: canonical metrics + derived signals.

record: CanonicalRecord
gpu_index: int
gpu_uuid: str
model_name: str | None
real_util: float
preset_name: str
weights: Tuple[float, float, float, float]
workload_class: WorkloadClass
bottleneck: BottleneckCategory
health: str
health_style: str
memory_total_mebibytes: float | None = None
memory_used_fraction: float | None = None
pcie_replay_rate_per_second: float | None = None
property gpu_id: str
property status_line: str
__init__(record, gpu_index, gpu_uuid, model_name, real_util, preset_name, weights, workload_class, bottleneck, health, health_style, memory_total_mebibytes=None, memory_used_fraction=None, pcie_replay_rate_per_second=None)
Parameters:
Return type:

None