DALI Release 0.23.0 Beta

The DALI 0.23.0 is a beta release, therefore, all features, functionality, and performance will likely be limited.

Using DALI 0.23.0 Beta

To upgrade to DALI 0.23.0 beta from an older version of DALI, follow the installation and usage information in the DALI User Guide.

Note: The internal DALI C++ API used for operator’s implementation, and the C++ API that enables using DALI as a library from native code, is not yet officially supported. Hence these APIs may change in the next release without advance notice.

Key Features and Enhancements

This DALI release includes the following key features and enhancements.

  • The DALI package name now adds -cuda110 and -cuda100 suffixes to indicate the CUDA version and allows the hosting of all packages under one pip index.

    This is important only for installation, and the DALI module in Python is still `nvidia.dali` regardless of the CUDA version. Refer to the Installation section in the DALI User Guide for more information.

  • New and improved Operators:
    • Normalize the Operator for GPU (#1974, #1981, #1986)
    • Support for epsilon and delta degrees of freedom arguments for the Normalize Operator (#1964)

    • SequenceRearrange Operator (#465)

    • Erase the Operator for GPU (#1971)

  • Improve how iterators count padded samples based on the reader (#1831) - the provided iterators can now query reader for the epoch size and sharding and handle the shard size changing from epoch-to-epoch when it's not evenly divisible by number of shards (rank) and batch size. Refer to Advanced topics for more information.

  • CUDA 11 build scripts for DALI were added (#2008)

Fixed Issues

This DALI release includes the following fixes.

  • Fix GPU spectrogram when window_length != nfft (#1999)

  • Fix MelFilterBank bug: setup block descriptors when changing shape between iterations. (#2001)

Breaking Changes

  • The DALI package name now adds -cuda110 and -cuda100 suffixes to indicate the CUDA version and allows the hosting of all packages under one pip index.
  • CUDA 9 is no longer supported.

    DALI 0.22.0 was the final release that provided a CUDA 9 build.

Known Issues

  • The video loader operator requires that the key frames occur at a minimum every 10 to 15 frames of the video stream. If the key frames occur at a lesser frequency, then the returned frames may be out of sync.

  • The DALI TensorFlow plugin may not be compatible with TensorFlow versions 1.15.0 and/or later. If the user wants to use DALI with the TensorFlow version which doesn’t have prebuilt plugin binary shipped with DALI it requires the gcc compiler that matches the one used to build TensorFlow (gcc 4.8.4 or gcc, 4.8.5 or 5.4, depending on the particular version) is present on the system.

  • Due to some known issues with meltdown/spectra mitigations and DALI, DALI shows best performance when running in Docker with escalated privileges, for example:
    • privileged=yes in Extra Settings for AWS data points
    • --privileged or --security-opt seccomp=unconfined for bare Docker