GPU Idle Tax
Hidden inefficiencies in your ML pipelines can cost thousands in wasted GPU spend.
Four leaks, four mechanisms
How Union keeps the GPU saturated
The full walkthrough (100M+ inference calls at near-maximal GPU utilization) is in the blog Batch Inference at Scale: How to Maximize GPU Utilization ↗.
Four primitives do the work:
Stop paying the idle tax
Spin up a DevBox and run a durable workflow with Reusable Containers in under an hour: GPUs kept live across actions, self-healing retries, and action-level resource visibility, in your own cloud.
How this is calculated: cold start per task = image pull (container GB × ~4s/GB effective) + container start + data load. Tasks/yr = GPUs × pipelines-per-day × active days. Idle today = tasks × cold-start ÷ 3600 × price/GPU-hour; fleet cost = GPUs × 24 × active days × price. With Union: Image Cold Boot Optimization removes the image pull; Reusable Containers keep containers running and swap out code, so the container startup is paid once per replica (N replicas = N cold boots, not one per task) while adding N-way parallelism; DynamicBatcher + JsonlDir stream data so load overlaps compute. Reclaim is attributed to these mechanisms and reconciles to the baseline. Proof figures reflect production results pending named-customer clearance; Union scale/latency claims reflect internal observability systems.