Triton Inference Server Release 23.03

The Triton Inference Server container image, release 23.03, is available on NGC and is open source on GitHub.

Contents of the Triton Inference Server container

The Triton Inference Server Docker image contains the inference server executable and related shared libraries in /opt/tritonserver.

For the list of what the container includes, refer to Deep Learning Frameworks Support Matrix.

Driver Requirements

Release 23.03 is based on CUDA 12.1.0, which requires NVIDIA Driver release 530 or later. However, if you are running on a data center GPU (for example, T4 or any other data center GPU), you can use NVIDIA driver release 450.51 (or later R450), 470.57 (or later R470), 510.47 (or later R510), 515.65 (or later R515), 525.85 (or later R525), or 530.30 (or later R530).

The CUDA driver's compatibility package only supports particular drivers. Thus, users should upgrade from all R418, R440, R460, and R520 drivers, which are not forward-compatible with CUDA 12.1. For a complete list of supported drivers, see the CUDA Application Compatibility topic. For more information, see CUDA Compatibility and Upgrades.

GPU Requirements

Release 23.03 supports CUDA compute capability 6.0 and later. This corresponds to GPUs in the NVIDIA Pascal, NVIDIA Volta™, NVIDIA Turing™, NVIDIA Ampere architecture, and NVIDIA Hopper™ architecture families. For a list of GPUs to which this compute capability corresponds, see CUDA GPUs. For additional support details, see Deep Learning Frameworks Support Matrix.

Key Features and Enhancements

This Inference Server release includes the following key features and enhancements.

  • Added the Parameters Extension which allows an inference request to provide custom parameters that cannot be provided as inputs. These parameters can be used in the python backend as described here.
  • Added support for models that use decoupled API for Business Scripting Logic (BLS) in Python backend. Examples can be found here.
  • The same model name can be used across different repositories if the `--model-namespacing` flag is set.
  • Triton’s Response Cache feature has been converted internally to a shared library implementation of the new TRITONCACHE APIs, similar to how backends and repo agents are implemented today. The default cache implementation is local_cache, which is equivalent to the fixed-size in-memory buffer implementation used before. The `--response-cache-byte-size` flag will continue to function in the same way, but the `--cache-config` flag will be the preferred method of cache configuration moving forward. For more information, see the cache documentation here.
  • Triton’s trace tool now supports tracing for request_id.
  • Refer to the 23.03 column of the Frameworks Support Matrix for container image versions on which the 23.03 inference server container is based.

NVIDIA Triton Inference Server Container Versions

The following table shows what versions of Ubuntu, CUDA, Triton Inference Server, and NVIDIA TensorRT™ are supported in each of the NVIDIA containers for Triton Inference Server. For older container versions, refer to the Frameworks Support Matrix.

Container Version Triton Inference Server Ubuntu CUDA Toolkit TensorRT
23.03 2.32.0 20.04 NVIDIA CUDA 12.1.0 TensorRT 8.5.3
23.02 2.31.0 NVIDIA CUDA 12.0.1
23.01 2.30.0 TensorRT 8.5.2.2
22.12 2.29.0 NVIDIA CUDA 11.8.0 TensorRT 8.5.1
22.11 2.28.0
22.10 2.27.0 TensorRT 8.5 EA
22.09 2.26.0
22.08 2.25.0 NVIDIA CUDA 11.7.1 TensorRT 8.4.2.4
22.07 2.24.0 NVIDIA CUDA 11.7 Update 1 Preview TensorRT 8.4.1
22.06 2.23.0 TensorRT 8.2.5
22.05 2.22.0 NVIDIA CUDA 11.7.0
22.04 2.21.0 NVIDIA CUDA 11.6.2 TensorRT 8.2.4.2 and

for x86 Linux and SBSA

TensorRT 8.4.0 for JetPack/Jetson

22.03 2.20.0 NVIDIA CUDA 11.6.1 TensorRT 8.2.3 and

for x86 Linux and SBSA

TensorRT 8.4.0 for JetPack/Jetson

22.02 2.19.0 NVIDIA CUDA 11.6.0 TensorRT 8.2.3
22.01 2.18.0 TensorRT 8.2.2
21.12 2.17.0 NVIDIA CUDA 11.5.0 TensorRT 8.2.1.8
21.11 2.16.0

TensorRT 8.2.1.8 for x64 Linux

TensorRT 8.0.2.2 for ARM SBSA Linux
21.10 2.15.0 NVIDIA CUDA 11.4.2 with cuBLAS 11.6.5.2
21.09 2.14.0 NVIDIA CUDA 11.4.2 TensorRT 8.0.3
21.08 2.13.0 NVIDIA CUDA 11.4.1 TensorRT 8.0.1.6
21.07 2.12.0 NVIDIA CUDA 11.4.0
21.06.1 2.11.0 NVIDIA CUDA 11.3.1 TensorRT 7.2.3.4
21.06
21.05 2.10.0 NVIDIA CUDA 11.3.0
21.04 2.9.0
21.03 2.8.0 NVIDIA CUDA 11.2.1 TensorRT 7.2.2.3
21.02 2.7.0 NVIDIA CUDA 11.2.0 TensorRT 7.2.2.3+cuda11.1.0.024
20.12 2.6.0 NVIDIA CUDA 11.1.1 TensorRT 7.2.2
20.11 2.5.0

18.04

NVIDIA CUDA 11.1.0 TensorRT 7.2.1
20.10 2.4.0
20.09 2.3.0 NVIDIA CUDA 11.0.3 TensorRT 7.1.3
20.08

2.2.0

20.07 1.15.0

2.1.0

NVIDIA CUDA 11.0.194
20.06 1.14.0

2.0.0

NVIDIA CUDA 11.0.167 TensorRT 7.1.2
20.03.1 1.13.0 NVIDIA CUDA 10.2.89 TensorRT 7.0.0
20.03 1.12.0

20.02

20.01

1.11.0
1.10.0

19.12

19.11

1.9.0 TensorRT 6.0.1
1.8.0
19.10 1.7.0 NVIDIA CUDA 10.1.243
19.09 1.6.0
19.08 1.5.0 TensorRT 5.1.5

Known Issues

  • Support for TensorFlow1 will be removed starting from 23.04.
  • Triton Inferentia guide is out of date. Some users have reported issues with running Triton on AWS Inferentia instances.
  • Some systems which implement malloc() may not release memory back to the operating system right away causing a false memory leak. This can be mitigated by using a different malloc implementation. Tcmalloc is installed in the Triton container and can be used by specifying the library in LD_PRELOAD.
  • Auto-complete may cause an increase in server start time. To avoid a start time increase, users can provide the full model configuration and launch the server with --disable-auto-complete-config.
  • Auto-complete does not support PyTorch models due to lack of metadata in the model. It can only verify that the number of inputs and the input names matches what is specified in the model configuration. There is no model metadata about the number of outputs and datatypes. Related PyTorch bug:https://github.com/pytorch/pytorch/issues/38273
  • Triton Client PIP wheels for Arm SBSA are not available from PyPI and pip will install an incorrect Jetson version of Triton Client library for Arm SBSA.

    The correct client 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.

    Refer to https://github.com/pytorch/pytorch/issues/66930 for more information.

  • Triton cannot retrieve GPU metrics with MIG-enabled GPU devices (A100 and A30).
  • Triton metrics might not work if the host machine is running a separate DCGM agent on bare-metal or in a container.