github triton-inference-server/server v2.46.0
Release 2.46.0 corresponding to NGC container 24.05

one month 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.

Note

Triton TensorRT-LLM Backend container image delayed

New Features and Improvements

  • Added namespace label in metrics if the server is launched with —model-namespacing=true. The label can now be used to distinguish metrics from two models with the same name belonging to different namespaces.

  • Response caching has been extended to top-level requests to ensemble models.

  • Improved the performance of Python HTTP Client library.

  • Model repository can now include multiple model configuration files for a given model. The specific model configuration to use can be selected when launching the server with -—model-config-name option.

  • INTER_OP_THREAD_COUNT and INTRA_OP_THREAD_COUNT parameter can now be set in config.pbtxt for PyTorch Backend to control thread counts in PyTorch model execution.

  • FIL backend is now included in Triton’s ARM-SBSA container image.

  • Triton’s vLLM Backend now supports deployment of models with multiple LoRA adapters. See this tutorial to learn more.

  • Triton logging format has been modified. See logging format section for more details.

  • GenAI-Perf added a new compare subcommand to enable generating visual comparisons of different profile runs

  • GenAI-Perf can now accept an input file containing a single prompt string to populate input generation.

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

Known Issues

  • When using Python models in decoupled mode, users need to ensure that the ResponseSender goes out of scope or is properly cleaned up before unloading the model to guarantee that the unloading process executes correctly.

  • TensorRT v10 does not support implicit batching. As a result, Triton no longer supports TensorRT models with implicit batch dimensions.

  • Since TensorRT v10 no longer supports implicit batch, Tritonserver will not be able to load existing TF-TRT models that use implicit batch. Therefore, we need to build TF-TRT models with dynamic batch support.

  • Multiple model configuration files are not supported by loading models with file override. Users still need to provide the model configuration by setting parameter "config" : "<JSON>" instead of custom configuration file "file:configs/<model-config-name>.pbtxt" : "<base64-encoded-file-content>"

  • Perf Analyzer no longer supports --trace-file option.

  • The TensorRT-LLM backend provides limited support of Triton extensions and features.

  • The TensorRT-LLM backend may core dump on server shutdown. This impacts server teardown only and will not impact inferencing.

  • 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 mitigated 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.

  • When cloud storage (AWS, GCS, AZURE) is used as a model repository and a model has multiple versions, Triton creates an extra local copy of the cloud model’s folder in the temporary directory, which is deleted upon server’s shutdown.

  • Python backend support for Windows is limited and does not currently support the following features:

    • GPU tensors
    • CPU and GPU-related metrics
    • Custom execution environments
    • The model load/unload APIs

Client Libraries and Examples

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

Windows Support

Note

There is no Windows release for 24.05, the latest release is 24.03.

Jetson iGPU Support

Note

Jetpack v5.X.X refers to our Xavier series of Jetson devices. New feature support for these devices ended in our r23.06 release, however, due to a CVE patch, the latest release for this family of devices is included in this release. This family of devices in not compatible with our igpu container releases.
Jetpack v6.X.X refers to our Orin series of Jetson devices. Triton is currently publishing monthly release containers for this family of devices, which can be found here with the suffix -igpu .

Important

For Jetpack v5.1.2 running Triton 23.06 or older, an update has been posted on the 23.06 release page, tritonserver2.35.0-jetpack5.1.2-update-2.tgz, which fixes CVE-2023-31036. See our security bulletin for more details.
This new updated package also contains a boost filesystem shared library that Triton depends on in the folder boost_filesystem . This shared library must be added to dynamic loader path for path for proper operation.

A release of Triton for IGX is provided in the attached tar file: tritonserver2.46.0-igpu.tgz.

  • This release supports TensorFlow 2.15.0, TensorRT 8.6.2.3, Onnx Runtime 1.17.3, PyTorch 2.4.0a0+07cecf4, Python 3.10 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.46.0-py3-none-manylinux2014_aarch64.whl[all]

Don't miss a new server release

NewReleases is sending notifications on new releases.