At 8 workers the operator's GPU sat at ~5% util / <5 GB VRAM — the pipeline is I/O-bound (HTTP image download + decode), so the GPU starves until many workers overlap that I/O. Raises MAX_CONCURRENCY 8→32, makes the UI worker control a number input (cap reported via /status), and sizes the shared requests connection pool to 64 so 32 workers don't bottleneck on the default pool of 10. Agent-only; triggers a build-agent republish.
At 8 workers the operator's GPU sat at ~5% util / <5 GB VRAM — the pipeline is I/O-bound (HTTP image download + decode), so the GPU starves until many workers overlap that I/O. Raises `MAX_CONCURRENCY` 8→32, makes the UI worker control a number input (cap reported via `/status`), and sizes the shared `requests` connection pool to 64 so 32 workers don't bottleneck on the default pool of 10. Agent-only; triggers a `build-agent` republish.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
At 8 workers the GPU sat at ~5% util / <5GB VRAM — the pipeline is I/O-bound
(downloading + decoding images over HTTP), so the GPU starves until many workers
overlap that I/O. Raise MAX_CONCURRENCY 8→32 and make the UI worker control a
number input (reaching 32 by ±1 was tedious); the cap is reported via /status so
the UI clamps to it. Also size the shared requests pool (pool_maxsize=64) — the
default 10 would have throttled 32 workers + spammed "connection pool is full".
Verified by running; watch GPU util/VRAM climb as you dial up.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Ttrj5P7upUTueSfoJcxEqa
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
At 8 workers the operator's GPU sat at ~5% util / <5 GB VRAM — the pipeline is I/O-bound (HTTP image download + decode), so the GPU starves until many workers overlap that I/O. Raises
MAX_CONCURRENCY8→32, makes the UI worker control a number input (cap reported via/status), and sizes the sharedrequestsconnection pool to 64 so 32 workers don't bottleneck on the default pool of 10. Agent-only; triggers abuild-agentrepublish.🤖 Generated with Claude Code