Releases: triton-inference-server/server
Release 2.52.0 corresponding to NGC container 24.11
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
-
Conceptual Guides were enhanced with a comprehensive tutorial on Semantic Caching optimization for LLM workloads.
-
Triton Metrics:
- Added a new histogram metric "Request to First Response Time” to decoupled models. Enabled by setting
--metrics-config histogram_latencies=true
[user_guide] . - A new model configuration field
model_metrics
that allows overriding default buckets for histogram metric families.
- Added a new histogram metric "Request to First Response Time” to decoupled models. Enabled by setting
Known Issues
-
TensorFlow backend may leak memory due to a known issue with the cuDNN library shipped with the container.
-
The latest GenAI-Perf package on pypi.org is version 0.0.9dev while the latest Triton SDK container (24.11) contains GenAI-Perf version 0.0.8.
-
Numpy 2.x is not currently supported for Python Backend models and may cause them to return empty tensors unxpectedly, please use Numpy 1.x until support is added.
-
Triton vLLM container comes with the vLLM version, which has a known vulnerability: GHSA-w2r7-9579-27hf. Note, that the affected code is not invoked at runtime, therefore the Triton vLLM container is not affected by this issue.
-
When running Torch TRT models, the output may differ from running the same model on a previous release.
-
When using TensorRT models, if auto-complete configuration is disabled and is_non_linear_format_io:true for reformat-free tensors is not provided in the model configuration, the model may not load successfully.
-
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.
-
Restart support was temporarily removed for Python models.
-
Triton TensorRT-LLM Backend container image uses TensorRT-LLM version 0.15.0 and built out of nvcr.io/nvidia/tritonserver:24.10-py3-min. Please refer to the Triton TRT-LLM Container Support Matrix section in the GitHub release note for more details.
-
Triton Inference Server with vLLM backend currently does not support running vLLM models with tensor parallelism sizes greater than 1 and the default "distributed_executor_backend" setting when using explicit model control mode. In attempt to load a vllm model (tp > 1) in explicit mode, users could potentially see failure at
initialize
step:could not acquire lock for <_io.BufferedWriter name='<stdout>'> at interpreter shutdown, possibly due to daemon threads. For the default model control mode, after server shutdown, vllm related sub-processes are not killed. Related vllm issue: https://github.com/vllm-project/vllm/issues/6766 . Please specify "distributed_executor_backend":"ray" in the
model.json` when deploying vllm models with tensor parallelism > 1. -
When loading models with file override, multiple model configuration files are not supported. Users must provide the model configuration by setting parameter "config" : "" instead of custom configuration file in the following format:"file:configs/.pbtxt" : "".
-
Perf Analyzer no longer supports --trace-file option.
-
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.
-
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. NVIDIA recommends 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: 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 pytorch/pytorch#66930 for more information.
-
Triton cannot retrieve GPU metrics with MIG-enabled GPU devices.
-
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.52.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.
Windows Support
Note
There is no Windows release for 24.11, the latest release is 24.10.
Jetson iGPU Support
A release of Triton for IGX is provided in the attached tar file: tritonserver2.52.0-igpu.tgz
.
- This release supports TensorFlow
2.17.0
, TensorRT10.6.0.26
, Onnx Runtime1.19.2
, PyTorch2.6.0a0+df5bbc0
, Python3.12
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.52.0-py3-none-manylinux2014_aarch64.whl[all]
Triton TRT-LLM Container Support Matrix
Note
Triton TensorRT-LLM Backend container image posting is delay
The Triton TensorRT-LLM container is built from the 24.10 image nvcr.io/nvidia/tritonserver:24.10-py3-min
. Please refer to the support matrix for all dependency versions related to 24.10. However, the packages listed below have different versions than those specified in the support matrix.
Dependency | Version |
---|---|
TensorRT-LLM | 0.15.0 |
TensorRT | ... |
Release 2.51.0 corresponding to NGC container 24.10
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
- Optimized vLLM performance with custom metrics.
Known Issues
-
Numpy 2.x is not currently supported for Python Backend models and may cause them to return empty tensors unxpectedly, please use Numpy 1.x until support is added.
-
To build the Llama 3.1 engine inside the 24.09-trtllm-python-py3 image, make sure to upgrade the transformer library to 4.43+ due to the bug in 4.43.x. One option to do so is to run
pip install -U transformers
. For more information, please refer to the discussion: NVIDIA/TensorRT-LLM#2121 -
Triton vLLM container comes with the vLLM version, which has a known vulnerability: GHSA-w2r7-9579-27hf. Note, that the affected code is not invoked at runtime, therefore the Triton vLLM container is not affected by this issue.
-
When running Torch TRT models, the output may differ from running the same model on a previous release.
-
When using TensorRT models, if auto-complete configuration is disabled and is_non_linear_format_io:true for reformat-free tensors is not provided in the model configuration, the model may not load successfully.
-
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.
-
Restart support was temporarily removed for Python models.
-
Triton TensorRT-LLM Backend container image uses TensorRT-LLM version 0.14.0 and built out of nvcr.io/nvidia/tritonserver:24.07-py3-min. Please refer to the Triton TRT-LLM Container Support Matrix section in the GitHub release note for more details.
-
Triton Inference Server with vLLM backend currently does not support running vLLM models with tensor parallelism sizes greater than 1 and the default "distributed_executor_backend" setting when using explicit model control mode. In attempt to load a vllm model (tp > 1) in explicit mode, users could potentially see failure at
initialize
step:could not acquire lock for <_io.BufferedWriter name='<stdout>'> at interpreter shutdown, possibly due to daemon threads. For the default model control mode, after server shutdown, vllm related sub-processes are not killed. Related vllm issue: https://github.com/vllm-project/vllm/issues/6766 . Please specify "distributed_executor_backend":"ray" in the
model.json` when deploying vllm models with tensor parallelism > 1. -
When loading models with file override, multiple model configuration files are not supported. Users must provide the model configuration by setting parameter "config" : "" instead of custom configuration file in the following format:"file:configs/.pbtxt" : "".
-
Perf Analyzer no longer supports --trace-file option.
-
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.
-
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. NVIDIA recommends 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: 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 pytorch/pytorch#66930 for more information.
-
Triton cannot retrieve GPU metrics with MIG-enabled GPU devices.
-
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.51.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.51.0-sdk-win.zip
file.
Windows Support
A beta release of Triton for Windows is provided in the attached file:tritonserver2.51.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.19.2
. The CPU, CUDA, and TensorRT execution providers are supported. The OpenVINO execution provider is not supported. -
OpenVINO models are supported. The OpenVINO version is
2024.4.0
. -
Prometheus metrics endpoint is not supported.
-
System and CUDA shared memory are not supported.
Known Issues
- In our internal testing, we observed large latency in retrieving inference results from HTTP client. We recommend using gRPC to circumvent this issue.
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:
-
Python
3.10.11
-
CUDA
12.5.1
-
cuDNN
9.5.0.50
-
TensorRT
10.5.0.18
Jetson iGPU Support
A release of Triton for IGX is provided in the attached tar file: tritonserver2.51.0-igpu.tgz
.
- This release supports TensorFlow
2.16.1
, TensorRT10.5.0.18
, Onnx Runtime1.19.2
, PyTorch2.5.0a0+e000cf0
, Python3.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.51.0-py3-none-manylinux2014_aa...
Release 2.50.0 corresponding to NGC container 24.09
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
-
Our tutorials were updated with 2 extensive guides on constrained decoding implementation in TensorRT-LLM python backend and function/tool calling. Guides can be found here
-
Our tutorials were also updated for Kubernetes Multi-Node and Multi-Instance Scaling with Triton and TRT-LLM; they can be found here.
-
vLLM backend now supports these additional metrics. For additional details, see vllm_backend.
- vllm:e2e_request_latency_seconds
- vllm:request_prompt_tokens
- vllm:request_generation_tokens
- vllm:request_params_best_of
- vllm:request_params_n
Known Issues
-
To build the Llama 3.1 engine inside the 24.09-trtllm-python-py3 image, make sure to upgrade the transformer library to 4.43+ due to the bug in 4.43.x. One option to do so is to run
pip install -U transformers
. For more information, please refer to the discussion: NVIDIA/TensorRT-LLM#2121. -
Triton vLLM container comes with the vLLM version, which has a known vulnerability: GHSA-w2r7-9579-27hf. Note, that the affected code is not invoked at runtime, therefore the Triton vLLM container is not affected by this issue.
-
When running Torch TRT models, the output may differ from running the same model on a previous release.
-
When using TensorRT models, if auto-complete configuration is disabled and is_non_linear_format_io:true for reformat-free tensors is not provided in the model configuration, the model may not load successfully.
-
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.
-
Restart support was temporarily removed for Python models.
-
Triton TensorRT-LLM Backend container image uses TensorRT-LLM version 0.13.0 and built out of nvcr.io/nvidia/tritonserver:24.07-py3-min. Please refer to the Triton TRT-LLM Container Support Matrix section in the GitHub release note for more details.
-
Triton Inference Server with vLLM backend currently does not support running vLLM models with tensor parallelism sizes greater than 1 and the default "distributed_executor_backend" setting when using explicit model control mode. In attempt to load a vllm model (tp > 1) in explicit mode, users could potentially see failure at
initialize
step:could not acquire lock for <_io.BufferedWriter name='<stdout>'> at interpreter shutdown, possibly due to daemon threads. For the default model control mode, after server shutdown, vllm related sub-processes are not killed. Related vllm issue: https://github.com/vllm-project/vllm/issues/6766 . Please specify "distributed_executor_backend":"ray" in the
model.json` when deploying vllm models with tensor parallelism > 1. -
When loading models with file override, multiple model configuration files are not supported. Users must provide the model configuration by setting parameter "config" : "" instead of custom configuration file in the following format:"file:configs/.pbtxt" : "".
-
Perf Analyzer no longer supports --trace-file option.
-
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.
-
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. NVIDIA recommends 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: 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 pytorch/pytorch#66930 for more information.
-
Triton cannot retrieve GPU metrics with MIG-enabled GPU devices.
-
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.50.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.50.0-sdk-win.zip
file.
Windows Support
A beta release of Triton for Windows is provided in the attached file:tritonserver2.50.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.19.2
. The CPU, CUDA, and TensorRT execution providers are supported. The OpenVINO execution provider is not supported. -
OpenVINO models are supported. The OpenVINO version is
2024.0.0
. -
Prometheus metrics endpoint is not supported.
-
System and CUDA shared memory are not supported.
Known Issues
- In our internal testing, we observed large latency in retrieving inference results from HTTP client. We recommend using gRPC to circumvent this issue.
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:
-
Python
3.10.11
-
CUDA
12.6.1
-
cuDNN
9.4.0.58
-
TensorRT
10.4.0.26
RHEL8 Support
Split tar files are included in the 'Assets' section of this release that comprise an early access (EA) release of Triton for RHEL8 for both x86 and aarch64 architectures. Once downloaded, you can untar the assets with the following commands: cat *x86*.tar.gz* | tar xvfz -
and cat *aarch*.tar.gz* | tar xvfz -
for x86 and aarch64, respectively.
This release was compiled with AlmaLinux 8.9 to be compatible with RHEL 8. See the included README.md for complete details about installation, verification, and support. This release supports TensorFlow 2.16.1, TensorRT 10.3.0.26, Onnx Runtime 1.18.1, PyTorch 2.5.0a0+872d972e41, Python 3.10 and as well as ensembles. GCS storage, S3 storage are not supported; however, Azure storage is supported....
Release 2.49.0 corresponding to NGC container 24.08
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
-
OpenAI-compatible embeddings and Hugging Face TEI re-ranker API-compatible rankings can now be profiled via GenAI-Perf.
-
GenAI-Perf can now receive multiple user-specified prompts via --input-file.
-
The request-rate for async requests have been updated in the OpenAI and HTTP clients to send requests at exactly that rate. Users submitting more requests than their models can handle can see increased latency.
-
The stabilization metric for Perf Analyzer has been updated due to these changes, so if latency does not stabilize for async models, a warning will be printed but Perf Analyzer will still complete.
-
Perf Analyzer will not validate any user-supplied inputs and outputs, returning an error if the model does not contain them.
-
Python backend now supports BF16 tensors via DLPack
-
vLLM backend now supports these reporting metrics.
- vllm:prompt_tokens_total
- vllm:generation_tokens_total
- vllm:time_to_first_token_seconds
To enable the vLLM model's metrics reporting, add these lines to config.pbtxt:
parameters: {
key: "REPORT_CUSTOM_METRICS"
value: {
string_value:"yes"
}
}
-
TensorRT-LLM backend now supports specifying GPU device IDs per instance using the “gpu_device_ids” field.
-
After the model config is updated to load new model versions, any loaded model versions whose model files are unmodified will not be reloaded.
Known Issues
-
When running Torch TRT models, the output may differ from running the same model on a previous release. This issue is expected to be fixed on the next release.
-
When using TensorRT models, if auto-complete configuration is disabled and is_non_linear_format_io:true for reformat-free tensors is not provided in the model configuration, the model may not load successfully.
-
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.
-
Restart support was temporarily removed for Python models.
-
Triton TensorRT-LLM Backend container image uses TensorRT-LLM version 0.12.0 and built out of nvcr.io/nvidia/tritonserver:24.07-py3-min. Please refer to the Triton TRT-LLM Container Support Matrix section in the GitHub release note for more details.
-
Triton Inference Server with vLLM backend currently does not support running vLLM models with tensor parallelism sizes greater than 1 and the default "distributed_executor_backend" setting when using explicit model control mode. In attempt to load a vllm model (tp > 1) in explicit mode, users could potentially see failure at
initialize
step:could not acquire lock for <_io.BufferedWriter name='<stdout>'> at interpreter shutdown, possibly due to daemon threads. For the default model control mode, after server shutdown, vllm related sub-processes are not killed. Related vllm issue: https://github.com/vllm-project/vllm/issues/6766 . Please specify "distributed_executor_backend":"ray" in the
model.json` when deploying vllm models with tensor parallelism > 1. -
When loading models with file override, multiple model configuration files are not supported. Users must provide the model configuration by setting parameter "config" : "" instead of custom configuration file in the following format:"file:configs/.pbtxt" : "".
-
Perf Analyzer no longer supports --trace-file option.
-
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.
-
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. NVIDIA recommends 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: 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 pytorch/pytorch#66930 for more information.
-
Triton cannot retrieve GPU metrics with MIG-enabled GPU devices.
-
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.49.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.49.0-sdk-win.zip
file.
Windows Support
A beta release of Triton for Windows is provided in the attached file:tritonserver2.49.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.18.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
2024.0.0
. -
Prometheus metrics endpoint is not supported.
-
System and CUDA shared memory are not supported.
Known Issues
- In our internal testing, we observed large latency in retrieving inference results from HTTP client. We recommend using gRPC to circumvent this issue.
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:
-
Python
3.10.11
-
CUDA
12.5.1
-
cuDNN
9.3.0.75
-
TensorRT
10.3.0.26
Jetson iGPU Support
A release of Triton for IGX is provided in the attached tar file: tritonserver2.49.0-igpu.tgz
.
- This release supports TensorFlow
2.16.1
, TensorRT10.3.0.26
, Onnx Runtime1.19.0
, PyTorch2.5.0a0+872d972
, Python3.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 support...
Release 2.48.0 corresponding to NGC container 24.07
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
-
OpenAI-compatible embeddings and Hugging Face TEI re-ranker API-compatible rankings can now be profiled via GenAI-Perf.
-
GenAI-Perf can now receive multiple user-specified prompts via --input-file.
-
The request-rate for async requests have been updated in the OpenAI and HTTP clients to send requests at exactly that rate. Users submitting more requests than their models can handle can see increased latency.
- The stabilization metric for Perf Analyzer has been updated due to these changes, so if latency does not stabilize for async models, a warning will be printed but Perf Analyzer will still complete.
-
Perf Analyzer will not validate any user-supplied inputs and outputs, returning an error if the model does not contain them.
-
Triton now supports tracing custom activities in the backend. For more information please refer to the documentation.
-
Enhanced Failure Count Metrics to reflect failure reason of inference request.
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.
-
Triton TensorRT-LLM Backend container image uses TensorRT-LLM version 0.11.0 and built out of nvcr.io/nvidia/tritonserver:24.05-py3-min. Please refer to the Triton TRT-LLM Container Support Matrix section below for more details.
-
The Triton Inference Server with vLLM backend, when using explicit model control mode, does not support running vLLM models with the default "distributed_executor_backend" and tensor parallelism sizes greater than 1. Attempting to load a vLLM model in explicit mode with tensor parallelism>1 will result in failure at
initialize
step:could not acquire lock for <_io.BufferedWriter name='<stdout>'> at interpreter shutdown, possibly due to daemon threads. Please specify "distributed_executor_backend":"ray" in the model.json when deploying vllm models with tensor parallelism > 1
. -
When loading models with file override, multiple model configuration files are not supported. Users must provide the model configuration by setting parameter "config" : "" instead of custom configuration file in the following format: "file:configs/.pbtxt" : "".
-
Perf Analyzer no longer supports --trace-file option.
-
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.
-
Restart support was temporarily removed for Python models.
-
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. NVIDIA recommends 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: 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 pytorch/pytorch#66930 for more information.
-
Triton cannot retrieve GPU metrics with MIG-enabled GPU devices.
-
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
-
Starting in 24.06, if you use Triton's iGPU container you might encounter this error message when loading TensorRT models built with the 24.06 TensorRT iGPU container: “Serialization (Serialization assertion stdVersionRead == serializationVersion failed.Version tag does not match. Note: Current Version: 236, Serialized Engine Version: 237)”. If this happens you can rebuild your iGPU models with the 24.04 TensorRT iGPU container and then run them in the Triton 24.06 iGPU container.
Client Libraries and Examples
Ubuntu 22.04 builds of the client libraries and examples are included in this release in the attached v2.48.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.48.0-sdk-win.zip
file.
Windows Support
A beta release of Triton for Windows is provided in the attached file:tritonserver2.48.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.18.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
2024.0.0
. -
Prometheus metrics endpoint is not supported.
-
System and CUDA shared memory are not supported.
Known Issues
- In our internal testing, we observed large latency in retrieving inference results from HTTP client. We recommend using gRPC to circumvent this issue.
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:
-
Python
3.10.11
-
CUDA
12.5.1
-
cuDNN
9.2.1.18
-
TensorRT
10.2.0.19
Jetson iGPU Support
A release of Triton for IGX is provided in the attached tar file: tritonserver2.48.0-igpu.tgz
.
- This release supports TensorFlow
2.16.1
, TensorRT8.6.2.3
, Onnx Runtime1.18.0
, PyTorch2.4.0a0+3bcc3cd
, Python3.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 comma...
Release 2.47.0 corresponding to NGC container 24.06
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
-
The TensorRT Backend now supports the BF16 datatype.
-
A new tutorial on auto-scaling and load balancing TensorRT-LLM model deployments with Triton Inference Server has been released: https://github.com/triton-inference-server/tutorials/tree/main/Deployment/Kubernetes/TensorRT-LLM_Autoscaling_and_Load_Balancing
-
A compare subcommand has been added to GenAi-Perf to allow comparison across multiple runs
-
Multi-LoRA and multi-model support in GenAI-Perf
-
Custom visualizations in GenAI-Perf
-
A fixed request count can now be requested from Perf Analyzer
-
Ensemble top-level response caching support in Perf Analyzer
-
Added
--enable-peer-access
to control trying to enable GPU peer access on triton startup.. Default is TRUE. -
Python models in default mode may send its response using the InferenceResponseSender similarly to models in decoupled mode.
-
Addressed an issue where Triton would cease processing gRPC requests after receiving multiple cancellation requests.
Known Issues
-
Starting in 24.06, if you use Triton's iGPU container you might encounter this error message when loading TensorRT models built with the 24.06 TensorRT iGPU container:
Serialization (Serialization assertion stdVersionRead == serializationVersion failed.Version tag does not match. Note: Current Version: 236, Serialized Engine Version: 237)
. If this happens you can rebuild your iGPU models with the 24.04 TensorRT iGPU container and then run them in the Triton 24.06 iGPU container. -
Triton TensorRT-LLM Backend container image uses TensorRT-LLM version
0.10.0
and built out ofnvcr.io/nvidia/pytorch:24.03-py3
-
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. -
Restart support was temporarily removed for Python models.
-
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.47.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.47.0-sdk-win.zip
file.
Windows Support
A beta release of Triton for Windows is provided in the attached file:tritonserver2.47.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.18.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
2024.0.0
. -
Prometheus metrics endpoint is not supported.
-
System and CUDA shared memory are not supported.
Known Issues
- In our internal testing, we observed large latency in retrieving inference results from HTTP client. We recommend using gRPC to circumvent this issue.
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:
-
Python
3.10.11
-
CUDA
12.5.0
-
cuDNN
9.1.0.70
-
TensorRT
10.0.1.6
Jetson iGPU Support
A release of Triton for IGX is provided in the attached tar file: tritonserver2.47.0-igpu.tgz
.
- This release supports TensorFlow
2.16.1
, TensorRT8.6.2.3
, Onnx Runtime1.18.0
, PyTorch2.4.0a0+f70bd71a48
, Python3.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.47.0-py3-none-manylinux2014_aarch64.whl[all]
Release 2.46.0 corresponding to NGC container 24.05
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
-
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
andINTRA_OP_THREAD_COUNT
parameter can now be set inconfig.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
-
Triton TensorRT-LLM Backend container image uses TensorRT-LLM version
0.9.0
and built out ofnvcr.io/nvidia/pytorch:24.03-py3
-
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
, TensorRT8.6.2.3
, Onnx Runtime1.17.3
, PyTorch2.4.0a0+07cecf4
, Python3.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 [`...
Release 2.45.0 corresponding to NGC container 24.04
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
-
Beta support for AsyncIO in decoupled mode in Python backend.
-
Enhancements to server shutdown to take into account both HTTP live connections and inflight inferences.
-
Python backend shared memory region naming has been updated to use UUIDs. This allows multiple servers to run on the machine without requiring different shared memory region prefixes.
-
Support retrieving OpenTelemetry trace settings from the gRPC/HTTP endpoints.
-
Log file and trace file locations can no longer be updated using the gRPC/HTTP endpoints.
-
Added an iterative scheduling tutorial to demonstrate how to use iterative scheduling with a GPT2 model.
-
Trace settings API now returns
trace_mode
andtrace_config
information. -
The TensorRT-LLM container now includes the
tensorrt_llm
Python package for creating engines. -
Added Python Client API docs to the documentation website.
-
Added metric visualizations to GenAI-Perf.
-
Added support to Model Analyzer for profiling LLMs with GenAI-Perf
-
Added the ability to select an output token distribution in GenAI-Perf
-
Some arguments have been renamed in the latest version of GenAI-Perf.
Known Issues
-
The TensorRT-LLM container uses
nvcr.io/nvidia/pytorch:24.02-py3
as the base image. -
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.
-
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. Note that this only applies to responses from different requests. Any responses corresponding to the same request will still be received in their expected order, relative to each other.
-
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.45.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.45.0-sdk-win.zip
file.
Windows Support
Note
There is no Windows release for 24.04, the latest release is 24.03.
Jetson iGPU Support
A release of Triton for IGX is provided in the attached tar file: tritonserver2.45.0-igpu.tgz
.
- This release supports TensorFlow
2.15.0
, TensorRT8.6.2.3
, Onnx Runtime1.17.3
, PyTorch2.3.0a0+6ddf5cf
, Python3.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.45.0-py3-none-manylinux2014_aarch64.whl[all]
Release 2.44.0 corresponding to NGC container 24.03
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
-
OpenTelemetry context for a trace started on the triton server side is now accessible from the Python Backend.
-
Python Backend now supports correlation strings in BLS models.
-
Triton now case-insensitively matches HTTP headers when using the header forwarding feature.
-
Triton’s backend API now allows users to collect per-response metrics.
-
Triton now publishes request cancellations in the response statistics.
-
GenAI-Perf is a new tool that facilitates LLM benchmarking and is currently available as an alpha release.
Known Issues
-
There is a known issue with ONNX Runtime with TensorRT Execution Provider which causes segmentation faults when attempting to load multiple instances of a model on the same GPU. This issue is being tracked here: microsoft/onnxruntime#20089. As a work around, users can serially load models and ensure only one model instance per gpu.
-
TensorRT-LLM backend is installed with Triton 24.01 base container due to incompatibility reasons.
-
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.
-
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. Note that this only applies to responses from different requests. Any responses corresponding to the same request will still be received in their expected order, relative to each other.
-
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.44.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.44.0-sdk-win.zip
file.
Windows Support
A beta release of Triton for Windows is provided in the attached file:tritonserver2.44.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.17.2
. 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.3.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:
-
Python
3.8.10
-
CUDA
12.3.2
-
cuDNN
9.0.0.312
-
TensorRT
8.6.1.6
Important
The 24.03 version of the ONNX Runtime Backend depends on cuDNN 9.0.0.312
while the TensorRT Backend depends on cuDNN 8.9.7.29
. This requires the user to ensure the runtime PATH includes paths to the respective cuDNN DLLs for each of the backends to load correctly.
Jetson iGPU Support
A release of Triton for IGX is provided in the attached tar file: tritonserver2.44.0-igpu.tgz
.
- This release supports TensorFlow
2.15.0
, TensorRT8.6.2.3
, Onnx Runtime1.17.2
, PyTorch2.3.0a0+40ec155e58
, Python3.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.44.0-py3-none-manylinux2014_aarch64.whl[all]
Release 2.43.0 corresponding to NGC container 24.02
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
-
Added base python backend functionality for Windows.
-
Removed the
Wait/Read(avg)
andOverhead
metrics for gRPC in the Trace Summary Tool to avoid displaying inaccurate readings.
- OpenTelemetry trace mode switched to Batch Span Processor, which batches completed spans and sends them in bulk. This processor supports both size and time based batching. Size-based batching is controlled by 2 parameters:
bsp_max_export_batch_size
andbsp_max_queue_size
, while time-based batching is controlled bybsp_schedule_delay
.
- Refer to the the Frameworks Support Matrix for container image versions on which the inference server container is based.
Known Issues
-
ONNX Runtime backend is not included with 24.02 release due to incompatibility reasons. However iGPU and Windows build assets shipped with ONNX Runtime backend.
-
TensorRT-LLM backend is installed with Triton 24.01 base container due to incompatibility reasons.
-
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.
-
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. Note that this only applies to responses from different requests. Any responses corresponding to the same request will still be received in their expected order, relative to each other.
-
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.43.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.43.0-sdk-win.zip
file.
Windows Support
A beta release of Triton for Windows is provided in the attached file:tritonserver2.43.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 ONNX Runtime version is
1.16.3
. 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.3.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:
-
Python
3.8.10
-
CUDA
12.3.2
-
cuDNN
8.9.7.29
-
TensorRT
8.6.1.6
Jetson iGPU Support
A release of Triton for IGX is provided in the attached tar file: tritonserver2.43.0-igpu.tgz
.
- This release supports TensorFlow
2.15.0
, TensorRT8.6.2.3
, Onnx Runtime1.16.3
, PyTorch2.3.0a0+ebedce2
, Python3.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.43.0-py3-none-manylinux2014_aarch64.whl[all]