dali-dynamic-mode

Write and migrate NVIDIA DALI data pipelines using imperative dynamic mode.

Updated Apr 16, 2026
One-click install
npx skills add https://github.com/sayalinvidia/sayali-skills-test --skill dali-dynamic-mode-sayalinvidia
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: dali-dynamic-mode
Source: https://github.com/sayalinvidia/sayali-skills-test/tree/main/skills/dali-dynamic-mode
Command: npx skills add https://github.com/sayalinvidia/sayali-skills-test --skill dali-dynamic-mode-sayalinvidia

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

DALI's imperative dynamic mode replaces static pipeline graphs with an interactive Python API, enabling developers to write, test, and migrate data-loading and preprocessing code more quickly and iteratively.

Core Features & Use Cases

  • Imperative API: write and execute DALI operations directly in Python without building and running a separate pipeline graph.
  • Readers, decoders, and data handling: manage GPU-accelerated decoding, randomization, batching, and per-sample operations within a single loop.
  • Migration and integration: convert existing pipeline-based code to dynamic mode and integrate with common ML frameworks like PyTorch, while preserving stateful readers and deterministic behavior.

Quick Start

Import NVIDIA DALI dynamic as ndd and begin coding with the ndd API in a Python loop to build your data pipeline.

Frequently Asked Questions about dali-dynamic-mode

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I write GPU data loading pipelines without static graphs in NVIDIA DALI?

NVIDIA DALI dynamic mode replaces static pipeline graphs with an interactive Python API, letting you write and execute GPU data loading and preprocessing operations directly without building a separate pipeline graph.

How do I migrate existing DALI pipeline code to dynamic mode?

Migrate existing pipeline-based code to dynamic mode by importing NVIDIA DALI dynamic as ndd, using PascalCase class names like ndd.readers.File, and replacing pipeline-def patterns with direct Python loops.

Does DALI dynamic mode support stateful readers for training and validation workflows?

Yes, DALI dynamic mode supports stateful readers for training, validation, and inference workflows using next_epoch(batch_size=...) to preserve deterministic behavior and stateful reader capabilities.

Can I use DALI dynamic mode with PyTorch for GPU-accelerated image and audio workloads?

Yes, you can integrate dynamic mode with common ML frameworks like PyTorch while managing GPU-accelerated image and audio decoding, randomization, batching, and augmentations with explicit device='gpu' handling.

What is the difference between DALI dynamic mode and static pipeline definitions?

Dynamic mode allows iterative testing and execution of DALI operations directly in Python loops, unlike static pipelines that require defining and running a separate pipeline graph before executing data preprocessing operations.

When should I avoid using static pipelines and switch to DALI dynamic mode?

Switch to dynamic mode when you need to write, test, and migrate data-loading and preprocessing code iteratively, avoiding pipeline-def patterns in favor of imperative operations with explicit device handling.