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
FeedFill fill = FeedFill::Zeros
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