BenchmarkReport Struct
Headline result returned by Model::benchmark(). More...
Declaration
Included Headers
Public Member Functions Index
| std::filesystem::path | save (const std::filesystem::path &file_path) const |
|
Write the complete report as YAML or JSON to the exact destination filename. More... | |
Public Member Attributes Index
| double | latency_ms = 0.0 |
| double | latency_p50_ms = 0.0 |
| double | latency_p95_ms = 0.0 |
| double | latency_p99_ms = 0.0 |
| double | fps = 0.0 |
| double | avg_power_watts = 0.0 |
|
Estimated mean SoM power over the throughput window. More... | |
| double | energy_joules = 0.0 |
|
Estimated energy to process num_samples inputs: avg_power_watts multiplied by the time the measured throughput needs for num_samples inputs. More... | |
| double | peak_power_watts = 0.0 |
|
Estimated highest SoM power sample in the window. More... | |
| int | throughput_samples = 0 |
|
Inputs measured by the throughput pass. More... | |
| double | throughput_duration_ms = 0.0 |
|
Length of the throughput window. More... | |
| Telemetry | telemetry |
|
Board telemetry for the throughput window. More... | |
| MlaLayerStats | mla_layer_stats |
|
Per-layer MLA latency, when requested. More... | |
| MlaStageStats | mla_stage_stats |
|
Per-stage MLA latency, when requested. More... | |
| std::string | input |
|
Measured inputs: "provided" (BenchmarkOptions::inputs) or "synthetic". More... | |
Description
Headline result returned by Model::benchmark().
The benchmark pushes BenchmarkOptions::inputs for every sample, or deterministic synthetic inputs generated from Model::input_specs() when none are given; input names which. latency_ms is measured with a warmed-up single-flight push/pull loop; latency_p50_ms, latency_p95_ms, and latency_p99_ms are percentiles of the same loop. fps means logical inferences per second from a separate async throughput pass (for batched models this is batches/sec multiplied by the compiled batch size). Each pass runs until it has measured at least num_samples inputs and min_duration_ms has elapsed.
Power and board telemetry come from the Sentinel daemon, recorded by a TelemetryMonitor around the throughput pass. Its sample window is armed after measurement starts and sealed after the last required output, before measurement stops. Preparation, worker teardown and final reads are outside the timer. Invalid UTC timestamps or detected clock discontinuities make benchmark telemetry unavailable, without changing standalone monitor cache-order recovery. When Sentinel is unavailable, the power fields are zero and telemetry.status names the reason.
Definition at line 117 of file Model.h.
Public Member Functions
save()
|
Write the complete report as YAML or JSON to the exact destination filename.
A .json extension selects JSON; .yaml and all other endings select YAML. Creates missing parent directories and atomically replaces an existing file. Returns file_path unchanged. Throws on invalid/non-finite values or filesystem/write failures. Saving is explicit: benchmark() does not create a report file automatically.
Definition at line 143 of file Model.h.
Public Member Attributes
avg_power_watts
|
Estimated mean SoM power over the throughput window.
Definition at line 123 of file Model.h.
energy_joules
|
Estimated energy to process num_samples inputs: avg_power_watts multiplied by the time the measured throughput needs for num_samples inputs.
Definition at line 126 of file Model.h.
fps
|
Definition at line 122 of file Model.h.
input
|
Measured inputs: "provided" (BenchmarkOptions::inputs) or "synthetic".
Definition at line 133 of file Model.h.
latency_ms
|
Definition at line 118 of file Model.h.
latency_p50_ms
|
Definition at line 119 of file Model.h.
latency_p95_ms
|
Definition at line 120 of file Model.h.
latency_p99_ms
|
Definition at line 121 of file Model.h.
mla_layer_stats
|
Per-layer MLA latency, when requested.
Definition at line 131 of file Model.h.
mla_stage_stats
|
Per-stage MLA latency, when requested.
Definition at line 132 of file Model.h.
peak_power_watts
|
Estimated highest SoM power sample in the window.
Definition at line 127 of file Model.h.
telemetry
|
Board telemetry for the throughput window.
Definition at line 130 of file Model.h.
throughput_duration_ms
|
Length of the throughput window.
Definition at line 129 of file Model.h.
throughput_samples
|
Inputs measured by the throughput pass.
Definition at line 128 of file Model.h.
The documentation for this struct was generated from the following file:
Generated via doxygen2docusaurus 2.0.0 by Doxygen 1.15.0.