front: serve /admin/api/gpu-stats from the front (keep temps live when an engine is busy)
gpu-stats fell through to the generic proxy, which forwards via the long-timeout
client to the primary engine. When that engine is saturated generating (sync
llama.cpp holding its event loop), the request blocked → the dashboard's temp/GPU
polling hung → the whole web UI went unresponsive and the task page stopped showing
temperatures.
Serve it from the front instead, using the already torch-free gpu_detect.gpu_stats()
(nvidia-smi + AMD sysfs, reports every card regardless of CUDA_VISIBLE_DEVICES), run
in a thread so the subprocess never blocks the front's event loop, and registered
before the catch-all so it's not proxied to a busy engine. Light auth (session
cookie / bearer presence) since GPU telemetry is low-sensitivity and full session
validation lives on the engine — which is the component we're decoupling from.
Note: the thermal THROTTLE (pausing a generation when hot) stays in the engine —
it must, to pause that engine's own forward pass — but its stats are now front-served.
Co-Authored-By:
Claude Opus 4.8 <noreply@anthropic.com>
Showing
Please
register
or
sign in
to comment