meta-pytorch / meta-pytorch/torchcodec

Support multi-GPU and multi-NVDEC parallel video decoding to reduce single-video latency

Open
#1,168 3 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Python
Stars
1.2k
Forks
125
Avg merge
22h 47m
Merged PRs (30d)
54

Description

🚀 The feature

I would like to propose adding support for collaborative video decoding that exploits both:

  1. multiple GPUs, and
  2. multiple NVDEC engines within each GPU, to reduce the latency of decoding a single video.
Motivation, pitch

Video decoding is increasingly on the critical path of modern ML workloads, especially for multimodal models that process long videos. In these settings, time-to-first-frame (or time-to-first-token) is often dominated by decoding latency rather than model execution.

While GPU decoding already improves throughput, we observe that:

  • When decoding a single video, typically only one NVDEC engine is used.
  • Decoding is confined to a single GPU even when multiple GPUs are available.
  • Parallelism is primarily video-level, rather than intra-video.

Enabling collaborative decoding across GPUs and NVDEC engines can substantially reduce single-video latency while maintaining high throughput.

We have explored this design in a research prototype and observed significant latency reductions.

For additional background and experimental results, we describe a similar design in:
Enabling Disaggregated Multi-Stage MLLM Inference via GPU-Internal Scheduling and Resource Sharing, https://arxiv.org/abs/2512.17574

If helpful, we’d be glad to submit a PR with further details.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

No files, tests, or entry points are named. Start by reviewing the existing GPU video-decoding architecture and the linked research prototype, then define how work would be divided across GPUs and NVDEC engines. Done would require a concrete implementation scope and evidence that single-video latency improves.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
performance
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.