Кэш Меркла активаций¶
Content-addressed пул промежуточных feature map. Если два генома разделяют префикс DAG и байты весов на этом префиксе, активация узла переиспользуется без повторного Conv2d.
Корректность hit
Если \(h_{\mathrm{merge}}(v,G,\mathbf{X}) = h_{\mathrm{merge}}(v',G',\mathbf{X}')\) при том же data_id, то тензоры активаций совпадают: хэш включает payload весов, геометрию, режим merge и упорядоченные входы.
Формулы хэшей¶
Идентичность батча:
Ребро:
Узел слияния (Merkle):
Входной вид: input_node_hash(view, data_id, C, H, W).
Запланированный уникальный промах¶
Пусть \(\mathcal{M}\) — множество miss-hash по всей оставшейся популяции. GPU считает каждый \(h\in\mathcal{M}\) один раз (plan_population_misses → execute_planned_population). После оценки генома \(i\) в пуле остаются:
Streaming elite (defer_commit): активации коммитятся только если геном вошёл в running top-\(\rho P\). Reconciliation после breed — metadata-only, без второго forward.
Park перед GD: граф на host; после GD — selective invalidate Merkle-map геномов, у которых веса реально изменились (L1-гейт).


API: forward-cache.