github NVIDIA/DALI v0.23.0
DALI v0.23.0

latest releases: v1.37.0, v1.38.0-dev, v1.36.0...
3 years ago

Key Features and Enhancements

This DALI release includes the following key features and enhancements.

  • DALI packages name add -cuda110 and -cuda100 suffixes to indicate CUDA version and allow hosting all packages under single pip index. This is important only for installation, the DALI module in Python is still nvidia.dali regardless of CUDA version. See the https://docs.nvidia.com/deeplearning/dali/user-guide/docs/installation.html installation guide for details.
  • New and improved Operators:
    • Normalize Operator for GPU (#1974, #1981, #1986).
    • Support for epsilon and delta degrees of freedom arguments for Normalize Operator (#1964).
    • SequenceRearrange Operator (#465).
    • Erase 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. More details can be found in https://docs.nvidia.com/deeplearning/dali/user-guide/docs/advanced_topics.html#sharding
  • CUDA 11 build scripts for DALI were added (#2008).

Bug fixes

  • Fix out-of-source build (#1975)
  • Fix typo in installation documentation (#1976)
  • Fix reference counting issue in the PythonFunction operator (#1978)
  • Fix the wording for preset OF argument (#1994)
  • Fix generation of Erase Region in kernel test (#1996)
  • Fix GPU spectrogram when window_length != nfft (#1999)
  • Fix MelFilterBank bug: setup block descriptors when changing shape between iterations. (#2001)
  • Change locked version of numba to at most 0.49, as 0.47 is the last release for py35 (#2016, #2020)

Improvements

  • Mean and Standard Deviation GPU kernels (#1919)
  • Linter script change: from CMake to Python (#1951)
  • Update links to the new location, remove deprecated installation guide (#1955)
  • Adding more Numpy data types (#1961)
  • Extend HSV example with RandomGrayscale implementation (#1962)
  • Add workaround for the problem with patchelf changing TLS alignment (#1952)
  • Add epsilon and ddof (delta degrees of freedom) arguments to Normalize. (#1964)
  • Small docs improvements (#1970)
  • Add Sequence Rearrange Op (#465)
  • Add a helper class for fast unsigned division, usable on host and device. (#1967)
  • Fix documentation drop-down menu and other links (#1972)
  • Erase GPU operator (#1971)
  • Update TF versions supported (#1973)
  • Add -cudaXXX to dali package name (#1948)
  • Add more error checking (#1979)
  • Make DALI test to be fPIE (#1980)
  • Normalize GPU kernel (#1974)
  • Normalize GPU - pImpl + Bessel's corrections (#1981)
  • Slice CPU kernel pad support (#1977)
  • Makes GTest and Google Benchmark fPIE, DALI binaries as dynamically relocatable (#1982)
  • Add more error checking in TensorFlow DALI integration (#1991)
  • Normalize operator for GPU backend (#1986)
  • Slice GPU kernel with multi-channel pad support (#1983)
  • Split Slice benchmarks into CPU and GPU (#1995)
  • Improve how iterators count padded samples based on the reader (#1831)
  • Remove boost from the dependencies as it is no longer used anyway (#2006)
  • Enable file path arguments (#2002)
  • Enable CUDA 11 builds (#2008)
  • Silence CUDA 11 compute 35 and 50 deprecation warning (#2010)
  • Drop CUDA 9 from docs (#2012)

Breaking API changes

  • DALI packages name add -cuda110 and -cuda100 suffixes to indicate CUDA version and allow hosting all packages under single pip index.
  • CUDA 9 is no longer supported. DALI 0.22.0 was the last release that provides CUDA 9 build.

Deprecated feature

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.
  • DALI TensorFlow plugin may not be compatible with TensorFlow versions 1.15.0 and/or later. If the user wants to use DALI with 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 run 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

Binary builds

Install via pip for CUDA 10
pip install --extra-index-url https://developer.download.nvidia.com/compute/redist/ nvidia-dali-cuda100==0.23.0
pip install --extra-index-url https://developer.download.nvidia.com/compute/redist/ nvidia-dali-tf-plugin-cuda100

or for CUDA 11:
pip install --extra-index-url https://developer.download.nvidia.com/compute/redist/ nvidia-dali-cuda110==0.23.0
pip install --extra-index-url https://developer.download.nvidia.com/compute/redist/ nvidia-dali-tf-plugin-cuda110

Or use direct download links (CUDA 10.0):

https://developer.download.nvidia.com/compute/redist/nvidia-dali-cuda100/nvidia_dali_cuda100-0.23.0-1396139-cp35-cp35m-manylinux1_x86_64.whl
https://developer.download.nvidia.com/compute/redist/nvidia-dali-cuda100/nvidia_dali_cuda100-0.23.0-1396139-cp36-cp36m-manylinux1_x86_64.whl
https://developer.download.nvidia.com/compute/redist/nvidia-dali-cuda100/nvidia_dali_cuda100-0.23.0-1396139-cp37-cp37m-manylinux1_x86_64.whl
https://developer.download.nvidia.com/compute/redist/nvidia-dali-cuda100/nvidia_dali_cuda100-0.23.0-1396139-cp38-cp38-manylinux1_x86_64.whl
https://developer.download.nvidia.com/compute/redist/nvidia-dali-tf-plugin-cuda100/nvidia-dali-tf-plugin-cuda100-0.23.0.tar.gz

Or use direct download links (CUDA 11.0):

https://developer.download.nvidia.com/compute/redist/nvidia-dali-cuda110/nvidia_dali_cuda110-0.23.0-1396141-cp35-cp35m-manylinux1_x86_64.whl
https://developer.download.nvidia.com/compute/redist/nvidia-dali-cuda110/nvidia_dali_cuda110-0.23.0-1396141-cp36-cp36m-manylinux1_x86_64.whl
https://developer.download.nvidia.com/compute/redist/nvidia-dali-cuda110/nvidia_dali_cuda110-0.23.0-1396141-cp37-cp37m-manylinux1_x86_64.whl
https://developer.download.nvidia.com/compute/redist/nvidia-dali-cuda110/nvidia_dali_cuda110-0.23.0-1396141-cp38-cp38-manylinux1_x86_64.whl
https://developer.download.nvidia.com/compute/redist/nvidia-dali-tf-plugin-cuda110/nvidia-dali-tf-plugin-cuda110-0.23.0.tar.gz

FFmpeg source code:

  • This software uses code of FFmpeg licensed under the LGPLv2.1 and its source can be downloaded here

Libsndfile source code:

Don't miss a new DALI release

NewReleases is sending notifications on new releases.