dispatcher.py hardcodes _VRAM_OVERHEAD_FACTOR = 1.4 and _VRAM_MAX_UTILIZATION = 0.85. At those values 18000 × 1.4 = 25200 exceeds the 4090's total 24,576 MB — Pixal3D can never be admitted on the :9100 path even at 100% utilization. The overhead factor has to move, not just the ceiling.
Proposal: move both constants to config.py with env overrides (ARTPIPE_VRAM_OVERHEAD_FACTOR, ARTPIPE_VRAM_MAX_UTILIZATION), defaults unchanged, and set 1.15 / 0.95 on the 4090 only. That admits Pixal3D (18000 × 1.15 = 20700 < 24576 × 0.95 = 23347) without changing admission behaviour on the Macs or SERVER.
Scope note: this gate governs only the workstation :9100 path (Blender addon + batch orchestrator). Production sizing is ArtPipe:StageSettings:modeling:VramMB against the GpuCoordinator lease — see PR-5.
Part of #833.
`dispatcher.py` hardcodes `_VRAM_OVERHEAD_FACTOR = 1.4` and `_VRAM_MAX_UTILIZATION = 0.85`. At those values `18000 × 1.4 = 25200` exceeds the 4090's **total** 24,576 MB — Pixal3D can never be admitted on the `:9100` path even at 100% utilization. The overhead factor has to move, not just the ceiling.
Proposal: move both constants to `config.py` with env overrides (`ARTPIPE_VRAM_OVERHEAD_FACTOR`, `ARTPIPE_VRAM_MAX_UTILIZATION`), **defaults unchanged**, and set `1.15` / `0.95` on the 4090 only. That admits Pixal3D (`18000 × 1.15 = 20700 < 24576 × 0.95 = 23347`) without changing admission behaviour on the Macs or SERVER.
Scope note: this gate governs only the workstation `:9100` path (Blender addon + batch orchestrator). Production sizing is `ArtPipe:StageSettings:modeling:VramMB` against the GpuCoordinator lease — see PR-5.
Core change merged in spikersoft-artpipe PR #34 (main, commit 80bd21e) — ARTPIPE_VRAM_OVERHEAD_FACTOR / ARTPIPE_VRAM_MAX_UTILIZATION in config.py, defaults unchanged, range-clamped with fallback on unparseable input.
One follow-up still open in PR #35: a subprocess test pinning the deployed env var names end-to-end. The tests that merged call _env_float directly and compare import-time constants, so neither would catch a typo in the name a stack file actually sets — the Jaeger:EndPoint failure mode (#307/#575/#597). It missed the #34 merge window by a few minutes.
Keeping this open until #35 lands and the 4090 confirms an 18000 job is admitted with the overrides exported.
Core change merged in spikersoft-artpipe PR #34 (`main`, commit `80bd21e`) — `ARTPIPE_VRAM_OVERHEAD_FACTOR` / `ARTPIPE_VRAM_MAX_UTILIZATION` in `config.py`, defaults unchanged, range-clamped with fallback on unparseable input.
One follow-up still open in PR #35: a subprocess test pinning the deployed env var **names** end-to-end. The tests that merged call `_env_float` directly and compare import-time constants, so neither would catch a typo in the name a stack file actually sets — the `Jaeger:EndPoint` failure mode (#307/#575/#597). It missed the #34 merge window by a few minutes.
Keeping this open until #35 lands and the 4090 confirms an 18000 job is admitted with the overrides exported.
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.
Part of #833.
dispatcher.pyhardcodes_VRAM_OVERHEAD_FACTOR = 1.4and_VRAM_MAX_UTILIZATION = 0.85. At those values18000 × 1.4 = 25200exceeds the 4090's total 24,576 MB — Pixal3D can never be admitted on the:9100path even at 100% utilization. The overhead factor has to move, not just the ceiling.Proposal: move both constants to
config.pywith env overrides (ARTPIPE_VRAM_OVERHEAD_FACTOR,ARTPIPE_VRAM_MAX_UTILIZATION), defaults unchanged, and set1.15/0.95on the 4090 only. That admits Pixal3D (18000 × 1.15 = 20700 < 24576 × 0.95 = 23347) without changing admission behaviour on the Macs or SERVER.Scope note: this gate governs only the workstation
:9100path (Blender addon + batch orchestrator). Production sizing isArtPipe:StageSettings:modeling:VramMBagainst the GpuCoordinator lease — see PR-5.Core change merged in spikersoft-artpipe PR #34 (
main, commit80bd21e) —ARTPIPE_VRAM_OVERHEAD_FACTOR/ARTPIPE_VRAM_MAX_UTILIZATIONinconfig.py, defaults unchanged, range-clamped with fallback on unparseable input.One follow-up still open in PR #35: a subprocess test pinning the deployed env var names end-to-end. The tests that merged call
_env_floatdirectly and compare import-time constants, so neither would catch a typo in the name a stack file actually sets — theJaeger:EndPointfailure mode (#307/#575/#597). It missed the #34 merge window by a few minutes.Keeping this open until #35 lands and the 4090 confirms an 18000 job is admitted with the overrides exported.