lllm3090.preflight#
Checks that answer “will this machine run the stack” before it is asked to.
Each check returns (ok, message). They are deliberately specific: this project targets one GPU and one OS family, and a vague pass on the wrong hardware would invalidate every figure in the model catalogue.
- lllm3090.preflight.check_gpu() tuple[bool, str][source]#
Identify the card, and say whether the catalogue’s numbers were taken on it.
An unrecognised GPU is not an error. Fit and context are computed from the memory it reports, so they stay correct; only the speeds are unverified, and the message says so rather than implying the whole thing is wrong.
- lllm3090.preflight.check_engine() tuple[bool, str][source]#
The engine that would serve, and which backend it actually is.
The backend is named rather than assumed. Two can be installed at once and they are not interchangeable – the KV cache costs about 10% more per token on CUDA, and the speculation settings that win on one lose on the other – so “which one is active” stops being a rhetorical question the moment a second one exists, and a doctor that does not answer it is describing an install it has not looked at.
- lllm3090.preflight.check_cuda_build() tuple[bool, str][source]#
Whether a locally compiled CUDA engine is still the pinned build.
The most likely way this feature rots. A CUDA engine is compiled from one commit and moving
engines.LLAMA_BUILDdoes not move it, so an upgrade leaves anyone who chose CUDA silently on an older engine than the one every figure in the catalogue was measured against – with nothing anywhere to say so. This is the something that says so.
- lllm3090.preflight.check_linger() tuple[bool, str][source]#
Whether the panel survives the user logging out.
The panel is a user unit, so it lives inside
user@UID.serviceand the user manager stops when the last session ends – taking the panel, and the engine in its cgroup, with it.loginctl enable-lingeris what keeps it running without a session.This matters most in exactly the case the headless how-to describes: isolating to
multi-user.targetends the graphical session, and without lingering the panel goes with it.