Continuum C++ API
Unified runtime for token + tensor execution
Loading...
Searching...
No Matches
continuum::runtime::MemoTable Class Reference

#include <memo_table.hpp>

Public Member Functions

 MemoTable (std::size_t max_entries=4096, std::size_t version=0)
 
std::optional< MemoEntry > lookup (const MemoKey &key) const
 
void insert (MemoKey key, MemoEntry entry)
 
void invalidate_version (std::size_t version)
 
void invalidate_node (const std::string &node_kind_str)
 
void clear ()
 
std::size_t size () const
 
std::size_t max_entries () const
 Capacity in entries passed at construction.
 
std::size_t estimated_bytes () const
 Approximate resident bytes: keys, cached outputs, and per-entry overhead.
 
std::size_t version () const
 
void set_version (std::size_t v)
 
MemoKey make_key (const ir::Node &node, const std::vector< continuum::Value > &inputs, const std::string &cache_namespace={}) const
 

Static Public Member Functions

static std::vector< std::uint8_t > serialize_value (const continuum::Value &v)
 
static std::optional< continuum::Value > deserialize_value (const std::vector< std::uint8_t > &bytes)
 

Detailed Description

Exact-match memo tier.

Eviction: least-recently-used. lookup hits and insert both refresh an entry's recency; once size() would exceed max_entries the entry with the oldest access is dropped. Stale-version entries are dropped lazily on lookup or eagerly via invalidate_version.

Constructor & Destructor Documentation

◆ MemoTable()

continuum::runtime::MemoTable::MemoTable ( std::size_t  max_entries = 4096,
std::size_t  version = 0 
)
explicit

Member Function Documentation

◆ clear()

void continuum::runtime::MemoTable::clear ( )

◆ deserialize_value()

static std::optional< continuum::Value > continuum::runtime::MemoTable::deserialize_value ( const std::vector< std::uint8_t > &  bytes)
static

◆ estimated_bytes()

std::size_t continuum::runtime::MemoTable::estimated_bytes ( ) const

Approximate resident bytes: keys, cached outputs, and per-entry overhead.

◆ insert()

void continuum::runtime::MemoTable::insert ( MemoKey  key,
MemoEntry  entry 
)

◆ invalidate_node()

void continuum::runtime::MemoTable::invalidate_node ( const std::string &  node_kind_str)

◆ invalidate_version()

void continuum::runtime::MemoTable::invalidate_version ( std::size_t  version)

◆ lookup()

std::optional< MemoEntry > continuum::runtime::MemoTable::lookup ( const MemoKey &  key) const

◆ make_key()

MemoKey continuum::runtime::MemoTable::make_key ( const ir::Node &  node,
const std::vector< continuum::Value > &  inputs,
const std::string &  cache_namespace = {} 
) const

◆ max_entries()

std::size_t continuum::runtime::MemoTable::max_entries ( ) const
inline

Capacity in entries passed at construction.

◆ serialize_value()

static std::vector< std::uint8_t > continuum::runtime::MemoTable::serialize_value ( const continuum::Value &  v)
static

◆ set_version()

void continuum::runtime::MemoTable::set_version ( std::size_t  v)

◆ size()

std::size_t continuum::runtime::MemoTable::size ( ) const

◆ version()

std::size_t continuum::runtime::MemoTable::version ( ) const

The documentation for this class was generated from the following file: