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.

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.