Skip to main content

run_multigpu_single_file

Function run_multigpu_single_file 

Source
pub async fn run_multigpu_single_file(
    params: MultiGpuParams<'_>,
    sink: Arc<dyn ProgressSink>,
) -> Result<Vec<Option<RungPackets>>>
Expand description

Single-file counterpart to run_multigpu_hls: decode once, fan to per-rung scalers, and dynamically schedule each rung’s GOP-sized chunks across all GPUs (fair lease pool + mid-flight helper dispatch + cross-vendor codec invariant). Each worker encodes its chunk to packets (a fresh encoder per chunk → first frame is an IDR); the finalizer concatenates them in segment order into one ordered packet stream per rung — no disk round-trip.