github triton-inference-server/server v2.26.0
Release 2.26.0 corresponding to NGC container 22.09

latest releases: v2.51.0, v2.50.0, v2.49.0...
2 years ago

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.26.0

  • Added developer tools Github repository that provides a simplified interface for users to interact with the Triton Core shared library.
    These developer tools are in beta and are subject to change.

  • Added CPU metrics reporting in Triton’s Prometheus metrics endpoint.

  • Added logging protocol extension for users to change logging configuration dynamically.

  • Users can specify the custom plugins to be loaded for TensorRT backend through command line option in addition to LD_PRELOAD.

  • Enabled auto-completion for OpenVINO backend.

  • Enabled Python backend to log messages through Triton’s logger.

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

  • Added quick search algorithm to Model Analyzer to drastically reduce search time.

  • Added GPU metrics gathering to Perf Analyzer, which is also used by Model Analyzer to improve accuracy of those metrics.

  • NGC container release 22.09 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.

Known Issues

  • In certain rare cases with specific backends, triton server may crash with segmentation fault when exiting. Preliminary analysis shows that there might be a race condition in clean up of backend/model/instance state objects. Exact root cause is still unknown.

  • Triton's TensorRT support depends on the CUDA event synchronization. In some rare cases the events may be triggered earlier than expected, causing Triton to overwrite input tensors while they are still in use and leading to corrupt input data being used for inference. If you encounter accuracy issues with your TensorRT model, you can work-around the issue by enabling the output_copy_stream option in your model's configuration.

  • When using a custom operator for the PyTorch backend, the operator may not be loaded due to undefined Python library symbols. This can be work-around by specifying Python 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: pytorch/pytorch#38273

  • Perf Analyzer stability criteria has been changed which may result in reporting instability for scenarios that were previously considered stable. This change has been made to improve the accuracy of Perf Analyzer results. If you observe this message, it can be resolved by increasing the --measurement-interval in the time windows mode or --measurement-request-count in the count windows mode.

  • 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 pytorch/pytorch#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.

Client Libraries and Examples

Ubuntu 20.04 builds of the client libraries and examples are included in this release in the attached v2.26.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.26.0-sdk-win.zip file.

Windows Support

A beta release of Triton for Windows is provided in the attached file:tritonserver2.26.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.12.1. 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.8.0

  • cuDNN 8.6.0.163

  • TensorRT 8.5.0.12

Jetson Jetpack Support

A release of Triton for JetPack is provided in the attached tar file: A release of Triton for JetPack is provided in the attached tar file: tritonserver2.26.0-jetpack5.0.2.tgz.

  • This release supports TensorFlow 2.9.1, TensorFlow 1.15.5, TensorRT 8.4.1.5, Onnx Runtime 1.12.0, PyTorch 1.13.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.26.0-py3-none-manylinux2014_aarch64.whl[all]

Don't miss a new server release

NewReleases is sending notifications on new releases.