12#ifndef ENTROPIC_INFERENCE_WARM_KEEP_UTIL_H
13#define ENTROPIC_INFERENCE_WARM_KEEP_UTIL_H
29template <
typename Tok>
31 const std::vector<Tok>&
b) {
32 std::size_t
n = std::min(
a.size(),
b.size());
34 while (
i <
n &&
a[
i] ==
b[
i]) {
61template <
typename Tok>
65 if (resident.empty() ||
incoming.size() < 2 || kv_pos_max < 0) {
72 if (
static_cast<std::size_t
>(kv_pos_max) + 1 <
common) {
Activate model on GPU (WARM → ACTIVE).
std::size_t common_prefix_len(const std::vector< Tok > &a, const std::vector< Tok > &b)
Length of the longest common token prefix of two sequences.
@ optional
optional: every escape asks the host's path approver
std::size_t warm_keep_cut(const std::vector< Tok > &resident, const std::vector< Tok > &incoming, long kv_pos_max)
Decide how many resident-KV tokens warm-keep may reuse this turn.