NVIDIA / NVIDIA/DALI

Utilizing all NVDEC engines on a single GPU with multiple pipelines

Open
#6,387 3 comments 0 reactions 1 assignee View on GitHub

@JanuszL is already working on this.

Since Jun 7, 2026.

enhancement question
Dominant language
C++
Stars
5.8k
Forks
678
Avg merge
3d 1h
Merged PRs (30d)
27

Description

Describe the question.

When running some video decoding benchmarks by building a DALIGenericIterator with a single pipeline on my GH200 system and checking the NVDEC engine utilization via

nvidia-smi dmon -s u

I find my DEC utilization to be capped at ~14%, which would align with only one (out of seven) NVDEC engines being used. According to the documentation I found, the NVIDIA driver should take care of load balancing between the different decoding units.

However, when creating multiple DALI piplines (e.g., seven), I find my DEC utilization to be close to 100%, indicating that all NVDEC engines are used. In raw decoding performance, running multiple pipelines on the same GPU also give me a performance boost.

My questions are:

  • Can a single DALI pipeline only use a single decoding unit?
  • Is running multiple pipelines on the same GPU the default way to utilize all decoding units?
Check for duplicates
  • I have searched the open bugs/issues and have found no duplicates for this bug report

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.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.