|
Entropic 2.14.3
Local-first agentic inference engine
|
A placement decision, with the reason it was reached. More...
#include </home/runner/work/entropic/entropic/src/inference/auto_placement.h>
Public Attributes | |
| bool | known = false |
| False = could not decide; leave config alone. | |
| int | gpu_layers = 0 |
| Layers to offload, or -1 meaning ALL. | |
| int | cpu_moe_layers = 0 |
| Layers whose experts stay host-side. | |
| uint64_t | bytes = 0 |
| Estimated resident footprint of the choice. | |
| bool | fully_resident = false |
True when gpu_layers is the -1 sentinel. | |
| int | n_ubatch = 0 |
| n_ubatch auto chose, or 0 to leave the operator's value alone. | |
| uint64_t | margin_bytes = 0 |
| Free VRAM left over once this placement is loaded, in bytes. | |
| const char * | reason = "" |
| Why this placement, for the operator's log. | |
A placement decision, with the reason it was reached.
Definition at line 44 of file auto_placement.h.
| uint64_t entropic::AutoPlacement::bytes = 0 |
Estimated resident footprint of the choice.
Definition at line 59 of file auto_placement.h.
| int entropic::AutoPlacement::cpu_moe_layers = 0 |
Layers whose experts stay host-side.
Definition at line 58 of file auto_placement.h.
True when gpu_layers is the -1 sentinel.
Definition at line 60 of file auto_placement.h.
| int entropic::AutoPlacement::gpu_layers = 0 |
Layers to offload, or -1 meaning ALL.
Full residency is reported as the -1 sentinel, not as a count equal to block_count, because -1 is what the rest of the engine reads as "all layers": classify_offload prices it as fully resident, and mlock_refused exempts it (gpu_layers < 0) since the host side is then transient rather than pinned. Emitting a concrete 30 would silently price a fully-resident model through the PARTIAL branch — omitting embeddings and the output head, an under-count — and strip the mlock exemption from a configuration that works today.
Definition at line 57 of file auto_placement.h.
False = could not decide; leave config alone.
Definition at line 45 of file auto_placement.h.
| uint64_t entropic::AutoPlacement::margin_bytes = 0 |
Free VRAM left over once this placement is loaded, in bytes.
v2.13.2. bytes says what the placement costs; this says what it does NOT consume, which is the number that decides whether the placement survives ordinary growth — a longer system prompt, one more tool schema, a KV change. A consumer put it exactly right: a placement that fits by fifteen megabytes is a coincidence, not a configuration. The engine takes it (it was measured running) and states the margin so the operator can decide otherwise.
Definition at line 80 of file auto_placement.h.
| int entropic::AutoPlacement::n_ubatch = 0 |
n_ubatch auto chose, or 0 to leave the operator's value alone.
v2.13.2: auto gives up ubatch before it gives up a layer. Measured on a 26B-A4B at IQ2, four iterations, freeing the same ~1800 MiB either way: lowering ubatch costs prefill 49% and decode NOTHING (overlapping error bars); dropping six layers costs prefill 44% and decode 66%. Layers are the two-axis currency, so they are spent last.
Definition at line 69 of file auto_placement.h.
Why this placement, for the operator's log.
Definition at line 81 of file auto_placement.h.