Skip to content

Release 2.21.0 corresponding to NGC container 22.04

Compare
Choose a tag to compare
@mc-nv mc-nv released this 29 Apr 00:31
· 1 commit to r22.04 since this release

Triton Inference Server

The Triton Inference Server provides a cloud inferencing solution optimized for both CPUs and GPUs. The server provides an inference service via an HTTP or GRPC endpoint, allowing remote clients to request inferencing for any model being managed by the server. For edge deployments, Triton Server is also available as a shared library with an API that allows the full functionality of the server to be included directly in an application.

What's New In 2.21.0

  • Users can now specify a customized temp directory with the --tmp-dir argument to build.py during the container build.

  • Users can now send a raw binary request to eliminate the need for the specification of inference header.

  • Ensembles now recognize optional inputs.

  • Users can now add custom metrics to the existing Triton metrics endpoint in their custom backends and applications using the Triton C API. Documentation can be found here.

  • Official support for multiple cloud repositories. This includes the same as well as different cloud storage providers i.e. a single instance of Triton can load models from two S3 buckets, two GCS buckets and two Azure Storage containers.

  • ONNX Runtime backend now uses execution providers when available when autocomplete is enabled. This fixes the old behavior where it would always use the CPU execution provider.

  • The build.py and compose.py now support PyTorch and TensorFlow 1 backends for the CPU-only builds.

  • Refer to the 22.04 column of the Frameworks Support Matrix for container image versions on which the 22.04 inference server container is based.

Known Issues

  • Triton PIP wheels for ARM SBSA are not available from PyPI and pip will install an incorrect Jetson version of Triton for ARM SBSA.

    The correct wheel file can be pulled directly from the ARM SBSA SDK image and manually installed.

  • Traced models in PyTorch seem to create overflows when int8 tensor values are transformed to int32 on the GPU. See pytorch/pytorch#66930.

  • Triton cannot retrieve GPU metrics with MIG-enabled GPU devices (A100 and A30)

  • Triton metrics may not work if the host machine is running a separate DCGM agent, either on bare-metal or in a container

  • Running a PyTorch TorchScript model using the PyTorch backend, where multiple instances of a model are configured can lead to a slowdown in model execution due to the following PyTorch issue: pytorch/pytorch#27902

  • Starting in 22.02, the Triton container (which uses the 22.04 PyTorch container) will report an error during model loading in the PyTorch backend when using scripted models that were exported in the legacy format (using our 19.09 or previous PyTorch NGC containers corresponding to PyTorch 1.2.0 or previous releases). You will need to re-export the model using a recent version of PyTorch to be able to load the model successfully in Triton.

  • To best ensure the security and reliability of our RPM and Debian package repositories, NVIDIA is updating and rotating the signing keys used by the apt, dnf/yum, and zypper package managers beginning April 27, 2022.
    Triton r22.04 and prior release branches have not updated these repository signing keys. Due to this users should expect package management errors when attempting to access or install packages from CUDA repositories.
    Please follow these recommendations to mitigate the issue.
    Please update your branches prior to building to include the updated signing key(s). These changes are captured in this commit.

Client Libraries and Examples

Ubuntu 20.04 builds of the client libraries and examples are included in this release in the attached v2.21.0_ubuntu2004.clients.tar.gz file. The SDK is also available for as an Ubuntu 20.04 based NGC Container. The SDK container includes the client libraries and examples, Performance Analyzer and Model Analyzer. Some components are also available in the tritonclient pip package. See Getting the Client Libraries for more information on each of these options.

For windows, the client libraries and some examples are available in the attached tritonserver2.21.0-sdk-win.zip file.

Windows Support

A beta release of Triton for Windows is provided in the attached file: tritonserver2.21.0-win.zip. This is a beta release so functionality is limited and performance is not optimized. Additional features and improved performance will be provided in future releases. Specifically in this release:

  • HTTP/REST and GRPC endpoints are supported.

  • ONNX models are supported by the ONNX Runtime backend. The ONNX Runtime version is 1.10.0. The CPU, CUDA, and TensorRT execution providers are supported. The OpenVINO execution provider is not supported.

  • OpenVINO models are supported. The OpenVINO version is 2021.4.

  • Prometheus metrics endpoint is not supported.

  • System and CUDA shared memory are not supported.

To use the Windows version of Triton, you must install all the necessary dependencies on your Windows system. These dependencies are available in the Dockerfile.win10.min. The Dockerfile includes the following CUDA-related components:

  • CUDA 11.5.0

  • cuDNN 8.3.2.44

  • TensorRT 8.2.2.1

Jetson Jetpack Support

A release of Triton for JetPack 5.0 Developer Preview is provided in the attached tar file: tritonserver2.21.0-jetpack5.0.tgz.

  • This release supports TensorFlow 2.8.0, TensorFlow 1.15.5, TensorRT 8.4.0.9, Onnx Runtime 1.10.0, PyTorch 1.12.0, Python 3.8 and as well as ensembles.
  • Onnx Runtime backend does not support the OpenVino and TensorRT execution providers. The CUDA execution provider is in Beta.
  • System shared memory is supported on Jetson. CUDA shared memory is not supported.
  • GPU metrics, GCS storage, S3 storage and Azure storage are not supported.

The tar file contains the Triton server executable and shared libraries and also the C++ and Python client libraries and examples. For more information on how to install and use Triton on JetPack refer to jetson.md.

The wheel for the Python client library is present in the tar file and can be installed by running the following command:

python3 -m pip install --upgrade clients/python/tritonclient-2.21.0-py3-none-manylinux2014_aarch64.whl[all]