Skip to main content

ClikaRT::graph::BenchReport

struct

Header: ClikaRT/graph/bench.h

One benchmark's measurement.

Times are wall-clock milliseconds around each run, with every output synchronized before the clock stops, so a run's time includes the device work its outputs wait on. peak_rss_bytes is the whole process's peak resident set at the end of the benchmark, not the graph's own footprint. device_memory is the runtime's memory-pool snapshot for device after the runs; device_memory_valid is false where no snapshot was available.

Data members​

shapes​

std::vector<InputShape> shapes

the input shapes fed, input_names() order

Declared in ClikaRT/graph/bench.h, line 120

outputs​

std::vector<InputShape> outputs

the output shapes produced, output_names() order

Declared in ClikaRT/graph/bench.h, line 121

device​

Device device

where the inputs were placed

Declared in ClikaRT/graph/bench.h, line 122

fill​

How synthesized inputs were filled; for caller-provided tensors the option's value, not applied.

Declared in ClikaRT/graph/bench.h, line 125

warmup​

std::int32_t warmup = 0

untimed runs

Declared in ClikaRT/graph/bench.h, line 126

iterations​

std::int32_t iterations = 0

measured runs

Declared in ClikaRT/graph/bench.h, line 127

threads​

std::int32_t threads = 0

the runtime's CPU thread count during the runs

Declared in ClikaRT/graph/bench.h, line 128

outputs_reused​

bool outputs_reused = false

the measured runs wrote preallocated outputs

Declared in ClikaRT/graph/bench.h, line 129

outputs_on_device​

bool outputs_on_device = false

the outputs live on device (false: on the host)

Declared in ClikaRT/graph/bench.h, line 130

iteration_ms​

std::vector<double> iteration_ms

every measured run, in order

Declared in ClikaRT/graph/bench.h, line 132

first_call_ms​

double first_call_ms = 0.0

the first run of the call, warmup or measured

Declared in ClikaRT/graph/bench.h, line 133

p50_ms​

double p50_ms = 0.0

median of iteration_ms

Declared in ClikaRT/graph/bench.h, line 134

p95_ms​

double p95_ms = 0.0

95th percentile of iteration_ms (linear interpolation)

Declared in ClikaRT/graph/bench.h, line 135

p99_ms​

double p99_ms = 0.0

99th percentile of iteration_ms (linear interpolation)

Declared in ClikaRT/graph/bench.h, line 136

mean_ms​

double mean_ms = 0.0

arithmetic mean of iteration_ms

Declared in ClikaRT/graph/bench.h, line 137

min_ms​

double min_ms = 0.0

fastest measured run

Declared in ClikaRT/graph/bench.h, line 138

max_ms​

double max_ms = 0.0

slowest measured run

Declared in ClikaRT/graph/bench.h, line 139

stddev_ms​

double stddev_ms = 0.0

population standard deviation of iteration_ms

Declared in ClikaRT/graph/bench.h, line 140

batch_axis​

std::int32_t batch_axis = -1

the axis items were counted along, or -1

Declared in ClikaRT/graph/bench.h, line 142

items_per_iteration​

std::int64_t items_per_iteration = 1

the first input's extent on batch_axis, else 1

Declared in ClikaRT/graph/bench.h, line 143

throughput_items_per_s​

double throughput_items_per_s = 0.0

items_per_iteration / (p50_ms / 1000)

Declared in ClikaRT/graph/bench.h, line 144

peak_rss_bytes​

std::uint64_t peak_rss_bytes = 0

the process's peak resident set, in bytes

Declared in ClikaRT/graph/bench.h, line 146

device_memory​

device::MemoryStats device_memory

the runtime's memory-pool counters for device

Declared in ClikaRT/graph/bench.h, line 147

device_memory_valid​

bool device_memory_valid = false

device_memory holds a snapshot

Declared in ClikaRT/graph/bench.h, line 148