← all repositories
NVIDIA/DALI

Your GPU is bored because the CPU is still decoding JPEGs

DALI moves image, video, and audio preprocessing to the GPU so deep learning pipelines stop bottlenecking on CPU-bound decoding and augmentation.

5.7k stars C++ Data ToolingML Frameworks
DALI
Not currently ranked — collecting fresh signals.
star history

What it does

NVIDIA DALI is a GPU-accelerated data loading and preprocessing library for deep learning. It provides optimized building blocks for decoding, resizing, cropping, and augmenting image, video, and audio data, and it plugs into frameworks like PyTorch, TensorFlow, PaddlePaddle, and JAX as a drop-in replacement for their native data loaders. By moving these stages from the CPU to the GPU, it aims to eliminate the preprocessing bottleneck that often leaves accelerators idle.

The interesting bit

The library includes its own execution engine that handles prefetching, parallel execution, and batch scheduling transparently, so you get pipeline optimizations without manually orchestrating queues. The real value is in the unglamorous part: making sure your accelerator isn’t sitting idle while a CPU core resizes frames and flips images. It also offers an experimental dynamic mode that looks more like imperative Python than the standard graph-based pipeline definition.

Key highlights

  • Portable across PyTorch, TensorFlow, PaddlePaddle, and JAX
  • Supports direct storage-to-GPU memory transfers via GPUDirect Storage
  • Handles formats from JPEG and H.264 to WAV, FLAC, and TFRecord
  • Scales across multiple GPUs and allows custom operator extensions
  • Integrates with NVIDIA Triton Inference Server for inference workflows

Caveats

  • The dynamic mode API lives under nvidia.dali.experimental.dynamic, so expect churn
  • Requires NVIDIA GPUs, CUDA, and proprietary drivers; not hardware-agnostic
  • The published 2024 roadmap is explicitly flagged as subject to change without priority guarantees

Verdict

Worth a look if you are training large vision, video, or audio models on NVIDIA hardware and profiling shows the CPU is choking on augmentation. Skip it if you are on non-NVIDIA hardware, working with small datasets that already fit comfortably in cache, or prefer to stay within your framework’s native data loader ecosystem.

Frequently asked

What is NVIDIA/DALI?
DALI moves image, video, and audio preprocessing to the GPU so deep learning pipelines stop bottlenecking on CPU-bound decoding and augmentation.
Is DALI open source?
Yes — NVIDIA/DALI is open source, released under the Apache-2.0 license.
What language is DALI written in?
NVIDIA/DALI is primarily written in C++.
How popular is DALI?
NVIDIA/DALI has 5.7k stars on GitHub.
Where can I find DALI?
NVIDIA/DALI is on GitHub at https://github.com/NVIDIA/DALI.

heatdrop uses Google Analytics to see which pages get read — nothing else. Your call. How we handle data.