Skip to main content

ClikaRT::ProfileSummary

struct

Header: ClikaRT/profiler/profiler.h

The counters a session accumulated, as plain values: the typed form of ProfileSession::summary_text() and of the summary object in report.json, field for field, so a consumer reads numbers instead of parsing text. Durations are nanoseconds; counts are events recorded inside the session's captures.

Nested types​

NameDescription
AllocationPairingAllocation-lifetime pairing at one tier: the REQUEST tier (tensor allocations) or the SEGMENT tier (the calls the memory pools make to the OS or the device driver). A capture window legitimately crosses lifetimes at both of its edges, so these are diagnostics, not failures; the one real defect a pairing can show is double_frees.

Data members​

total_wallclock_ns​

std::uint64_t total_wallclock_ns = 0

First recorded start to last recorded end across every captured span.

Declared in ClikaRT/profiler/profiler.h, line 74

total_op_self_ns​

std::uint64_t total_op_self_ns = 0

Op time with nested child spans excluded (each op's own share).

Declared in ClikaRT/profiler/profiler.h, line 76

total_kernel_ns​

std::uint64_t total_kernel_ns = 0

Device kernel spans, summed.

Declared in ClikaRT/profiler/profiler.h, line 78

total_memcpy_ns​

std::uint64_t total_memcpy_ns = 0

Host/device copy spans, summed.

Declared in ClikaRT/profiler/profiler.h, line 80

total_allocations​

std::size_t total_allocations = 0

Request-tier allocations (tensors).

Declared in ClikaRT/profiler/profiler.h, line 84

total_frees​

std::size_t total_frees = 0

Request-tier frees.

Declared in ClikaRT/profiler/profiler.h, line 86

total_segment_allocations​

std::size_t total_segment_allocations = 0

Segment-tier allocations (the pools' OS / device-driver calls).

Declared in ClikaRT/profiler/profiler.h, line 88

total_segment_frees​

std::size_t total_segment_frees = 0

Segment-tier frees.

Declared in ClikaRT/profiler/profiler.h, line 90

total_enqueue_begins​

std::size_t total_enqueue_begins = 0

Work items submitted to a stream.

Declared in ClikaRT/profiler/profiler.h, line 96

total_enqueue_ends​

std::size_t total_enqueue_ends = 0

Submitted work items that ran to completion.

Declared in ClikaRT/profiler/profiler.h, line 98

total_host_syncs​

std::size_t total_host_syncs = 0

Host waits for device work (a synchronize, a host read of a pending value).

Declared in ClikaRT/profiler/profiler.h, line 100

total_waits​

std::size_t total_waits = 0

Cross-stream waits (one stream ordered behind another's work).

Declared in ClikaRT/profiler/profiler.h, line 102

total_notifications​

std::size_t total_notifications = 0

Completion notifications that fired.

Declared in ClikaRT/profiler/profiler.h, line 104

request_pairing​

AllocationPairing request_pairing

the request (tensor) tier

Declared in ClikaRT/profiler/profiler.h, line 107

segment_pairing​

AllocationPairing segment_pairing

the segment (pool) tier

Declared in ClikaRT/profiler/profiler.h, line 108

alloc_free_balanced​

bool alloc_free_balanced = true

True when no double free was seen at the request tier (a window-edge imbalance is reported through request_pairing, never here).

Declared in ClikaRT/profiler/profiler.h, line 113

segment_alloc_free_balanced​

bool segment_alloc_free_balanced = true

True when no double free was seen at the segment tier.

Declared in ClikaRT/profiler/profiler.h, line 115