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 68

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 70

total_kernel_ns

std::uint64_t total_kernel_ns = 0

Device kernel spans, summed.

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

total_memcpy_ns

std::uint64_t total_memcpy_ns = 0

Host/device copy spans, summed.

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

total_allocations

std::size_t total_allocations = 0

Request-tier allocations (tensors).

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

total_frees

std::size_t total_frees = 0

Request-tier frees.

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

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 82

total_segment_frees

std::size_t total_segment_frees = 0

Segment-tier frees.

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

total_enqueue_begins

std::size_t total_enqueue_begins = 0

Work items submitted to a stream.

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

total_enqueue_ends

std::size_t total_enqueue_ends = 0

Submitted work items that ran to completion.

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

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 94

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 96

total_notifications

std::size_t total_notifications = 0

Completion notifications that fired.

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

request_pairing

AllocationPairing request_pairing

the request (tensor) tier

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

segment_pairing

AllocationPairing segment_pairing

the segment (pool) tier

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

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 107

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 109