Skip to content
heliaPROFILER
Reference
HELIA

results

What a profiling run produces: the run result, its per-layer and PMU detail, and the firmware and run metadata that say how it was measured.

Every name on this page is imported from helia_profiler.

API tier: stable

Generated from the src/helia_profiler tree f38e378c801d34438affb680257217e0b58d2cd1.

Machine-readable model

  • LayerResultclassProfiling result for a single model layer (averaged across iterations).
  • PresetResultclassResults for a single PMU counter preset (e.g.
  • FirmwareMetaclassMetadata reported by the profiler firmware at startup.
  • PmuResultclassComplete PMU profiling result across all presets.
  • RunMetadataclassAccumulated run metadata — enriched by stages, consumed by reports.
  • ProfileResultclassComplete profiling result — the public return type of hpx.profile().
class

Profiling result for a single model layer (averaged across iterations).

src/helia_profiler/results/models.py:45

LayerResult(
id: int | str,
op: str,
counters: dict[str, float] = dict(),
cycles: float | None = None,
overflow: bool = False,
source_index: int | None = None,
) -> None

dataclass

Profiling result for a single model layer (averaged across iterations).

source_index is the ORIGINAL tflite operator index this measured layer corresponds to, when the op label carries one. id is the firmware’s execution position, which on AOT engines is NOT the original index — helia-aot skips ops without renumbering.

API tier: stable

class

Results for a single PMU counter preset (e.g.

src/helia_profiler/results/models.py:79

PresetResult(
name: str,
header: list[str] = list(),
iterations: list[list[LayerResult]] = list(),
layers: list[LayerResult] = list(),
) -> None

dataclass

Results for a single PMU counter preset (e.g. basic_cpu).

API tier: stable

class

Metadata reported by the profiler firmware at startup.

src/helia_profiler/results/models.py:110

FirmwareMeta(
model_size: int | None = None,
arena_size: int | None = None,
allocated_arena: int | None = None,
input_size: int | None = None,
output_size: int | None = None,
num_tensors: int | None = None,
num_inputs: int | None = None,
num_outputs: int | None = None,
num_presets: int | None = None,
system_clock_hz: int | None = None,
profiled_infer_count: int | None = None,
profiled_infer_total_us: int | None = None,
profiled_infer_avg_us: int | None = None,
clean_infer_count: int | None = None,
clean_infer_total_cycles: int | None = None,
clean_infer_avg_cycles: int | None = None,
clean_infer_avg_us: int | None = None,
clean_stalled_iters: int | None = None,
clean_partial_iters: int | None = None,
clean_ref_cycles: int | None = None,
clean_dwt_rate_cyc: int | None = None,
clean_dwt_rate_us: int | None = None,
clean_attach_wait_us: int | None = None,
psram: PsramInfo | None = None,
presets: tuple[str, ...] = (),
measured_clock_hz: int | None = None,
) -> None

dataclass

Metadata reported by the profiler firmware at startup.

All fields are optional because older firmware versions may not report every field.

API tier: stable

attribute

modelsize when it is a usable byte count, else None.

src/helia_profiler/results/models.py:177

reported_model_bytes: int | None

model_size when it is a usable byte count, else None.

The wire parser keeps an unparseable HPX_MODEL_SIZE as the raw string it received, so a corrupted or foreign line reaches consumers as text. Anything that needs a number asks here instead of assuming; the raw value stays on model_size so diagnostics can still quote what the device actually said.

class

PmuResult

Python

Complete PMU profiling result across all presets.

src/helia_profiler/results/models.py:192

PmuResult(
meta: FirmwareMeta,
presets: dict[str, PresetResult] = dict(),
layers: list[LayerResult] = list(),
overflow_detected: bool = False,
groups: dict[str, list[LayerResult]] = dict(),
) -> None

dataclass

Complete PMU profiling result across all presets.

API tier: stable

class

Accumulated run metadata — enriched by stages, consumed by reports.

src/helia_profiler/results/models.py:302

RunMetadata(
hpx_version: str = '',
run_id: str = '',
timestamp: str = '',
config_snapshot: dict[str, Any] = dict(),
platform: PlatformInfo | None = None,
model: ModelInfo | None = None,
toolchain: ToolchainInfo | None = None,
build_images: tuple[BuildImage, ...] = (),
engine: EngineInfo | None = None,
firmware: FirmwareMeta | None = None,
memory_plan: 'MemoryPlan | None' = None,
timing: TimingInfo | None = None,
compatibility: CompatibilityResolution | None = None,
dependencies: 'DependencyProvenance | None' = None,
identity: 'RunIdentity | None' = None,
) -> None

dataclass

Accumulated run metadata — enriched by stages, consumed by reports.

API tier: stable

class

Complete profiling result — the public return type of hpx.profile().

src/helia_profiler/results/models.py:615

ProfileResult(
pmu: PmuResult,
power: PowerResult | None = None,
power_observation: PowerObservation | None = None,
power_terminal: PowerTerminalRecord | None = None,
on_device_power: OnDevicePowerSummary | None = None,
metadata: RunMetadata = RunMetadata(),
report_paths: list[Path] = list(),
evaluation: RunEvaluation | None = None,
) -> None

dataclass

Complete profiling result — the public return type of hpx.profile().

Carries PMU data, optional power data, run metadata, report paths, and the stored report evaluation. evaluation=None means no evaluation was supplied, not a valid verdict. The evaluation payload retains the experimental :class:RunEvaluation contract.

This in-memory result does not define a saved-record schema.

API tier: stable


Machine-readable: results.json · results.md, complete and lossless.