Skip to content

Release 2.37.0 corresponding to NGC container 23.08

Compare
Choose a tag to compare
@tanmayv25 tanmayv25 released this 30 Aug 18:06
ebbc863

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.

New Features and Improvements

  • Triton can load model instances in parallel for supporting backends. See TRITONBACKEND_BackendAttributeSetParallelModelInstanceLoading for more details. As of 23.08, only python and onnxruntime backends support loading model instances in parallel.

  • Python backend models can capture trace for composing child models when executing BLS requests.

  • Triton OpenTelemetry Tracing exposes resource settings which can be used to configure the service name and version.

  • Python backend supports directly loading and serving PyTorch models with torch.compile().

  • Exposed preserve_ordering field to oldest strategy sequence batcher. The default behavior of the oldest strategy sequence batcher to preserve response order across the independent requests belonging to different sequences is changed from True to False. Note: This setting does not impact order of responses within a sequence.

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

Known Issues

  • Triton uses OpenTelemetry CPP library version, which can cause Triton to crash
    , when OpenTelemetry’s exporter timeouts.

  • When using decoupled models, there is a possibility that response order as sent
    from the backend may not match with the order in which these responses are
    received by the streaming gRPC client.

  • The "fastertransformer_backend" is only officially supported for 22.12, though it can
    be built for Triton container versions up to 23.07.

  • The Java CAPI is known to have intermittent segfaults we’re looking for a root cause.

  • Some systems which implement malloc() may not release memory back to the
    operating system right away causing a false memory leak. This can be mitigate
    by using a different malloc implementation. tcmalloc and jemalloc are
    installed in the Triton container and can be
    used by specifying the library in LD_PRELOAD.

    We recommend experimenting with both tcmalloc and jemalloc to determine which
    one works better for your use case.

  • 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

  • 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 22.04 builds of the client libraries and examples are included in this release in the attached v2.37.0_ubuntu2204.clients.tar.gz file. The SDK is also available for as an Ubuntu 22.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.37.0-sdk-win.zip file.

Windows Support

A beta release of Triton for Windows is provided in the attached file:tritonserver2.37.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 ONNXRuntime backend. The ONNXRuntime version is 1.15.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 2023.0.0.

  • 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 12.2.0

  • cuDNN 8.9.4.25

  • TensorRT 8.6.1.6

Jetson Jetpack Support

Note
There is no Jetpack release for 23.08, the latest release is 23.06.