---
title: "ClikaRT::ProfileSummary::AllocationPairing"
sidebar_label: "ProfileSummary::AllocationPairing"
description: "Allocation-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)."
---

<!-- Generated by tools/doxygen2mdx from Doxygen XML. Do not edit. -->

<span class="api-kind api-kind--struct">struct</span>

**Header:** `ClikaRT/profiler/profiler.h`

Allocation-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`](./ProfileSummary.AllocationPairing.md#double_frees).

## Data members

### live\_at\_end\_allocs {#live_at_end_allocs}

<div class="api-signature">

`std::size_t` **`live_at_end_allocs`** `= 0`

</div>

Allocated in the window and not freed by its end (still-held tensors: the norm for any mid-session capture).

<div class="api-declared">

Declared in `ClikaRT/profiler/profiler.h`, line 58

</div>

### live\_at\_end\_bytes {#live_at_end_bytes}

<div class="api-signature">

`std::uint64_t` **`live_at_end_bytes`** `= 0`

</div>

Bytes those still-held allocations hold.

<div class="api-declared">

Declared in `ClikaRT/profiler/profiler.h`, line 60

</div>

### freed\_pre\_window {#freed_pre_window}

<div class="api-signature">

`std::size_t` **`freed_pre_window`** `= 0`

</div>

Freed in the window, allocated before it.

<div class="api-declared">

Declared in `ClikaRT/profiler/profiler.h`, line 62

</div>

### double\_frees {#double_frees}

<div class="api-signature">

`std::size_t` **`double_frees`** `= 0`

</div>

The same allocation freed twice: a real defect.

<div class="api-declared">

Declared in `ClikaRT/profiler/profiler.h`, line 64

</div>

### unattributed\_allocs {#unattributed_allocs}

<div class="api-signature">

`std::size_t` **`unattributed_allocs`** `= 0`

</div>

Allocation events that carry no identity (no profiler was active when the allocation was made).

<div class="api-declared">

Declared in `ClikaRT/profiler/profiler.h`, line 67

</div>

### unattributed\_frees {#unattributed_frees}

<div class="api-signature">

`std::size_t` **`unattributed_frees`** `= 0`

</div>

Free events that carry no identity.

<div class="api-declared">

Declared in `ClikaRT/profiler/profiler.h`, line 69

</div>
