You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
[Engine] Idle GPU spin: both cards stay at 100% / ~110 W with no request in flight #5372
With the model loaded and no requests in flight, both GPUs sit at 100% busy and ~110–120 W each (sclk pinned at ~3060 MHz, mclk idle at 96 MHz). Stopping the engine drops them to 13–17 W. It looks like a GPU-side wait kernel (doorbell / hand-off spin) is left resident after a request, so the driver never lets the card idle.
mclk is 96 MHz in both states, so it is a compute-side spin, not memory.
Ruled out
STRATA_MEGAKERNEL=0 → same 110 W
removing --pipeline-windows 2 → same
killing strata-vision → same
requests: 0 connections on :8001, 0 prompt lines in the log, engine threads at 0% CPU
restart with zero requests still goes to 100% within ~20 s (it is not a leftover from the last request only)
Tried (no effect, reverted)
Adding a bounded spin to doorbell_wait_kernel, wait_flag_ge_kernel, wait_flag_copy_i32_kernel and a 3 s default in wait_handoff_kernel did not change the idle power (correctness and speed were fine).
Request
When the pipeline has no work, could the resident wait kernel be released — e.g. publish the doorbell / exit the wait after a timeout, or host-side park and relaunch on the next request? Even an opt-in flag ("let the card idle between requests", trading ~0.1–0.5 ms of first-token latency) would be enough.
Current workaround
server.py --lazy --idle-unload 1800 — the model is unloaded after 30 min idle and reloads on the next request (idle then 5–11 W/card), at the cost of a ~70 s cold start.
Activity