Release 2.6.0 corresponding to NGC container 20.12
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.6.0
-
An alpha release Triton for Windows is included in this release. See below for more details.
-
Due to interactions with Ubuntu 20.04, the ONNX Runtime's OpenVINO execution provider is disabled in this release. OpenVINO support will be re-enabled in a subsequent release.
-
The Triton
*-py3-clientsdk
container has been renamed to*-py3-sdk
and now contains the Model Analyzer as well as the client libraries and examples. -
The PyTorch backend has been moved to a separate repository: https://github.com/triton-inference-server/pytorch_backend. As a result, it is now easy to add or remove it from Triton without requiring a rebuild: https://github.com/triton-inference-server/server/blob/master/docs/compose.md.
-
Initial release of the Model Analyzer tool in the Triton SDK container and the PIP package,
nvidia-triton-model-analyzer
, in the NVIDIA Py Index. -
Refer to the 20.12 column of the Frameworks Support Matrix
for container image versions that the 20.12 inference server container is based on. -
Ubuntu 20.04 with September 2020 updates.
Known Issues
-
TensorRT reformat-free I/O is not supported.
-
Some versions of Google Kubernetes Engine (GKE) contain a regression in the handling of LD_LIBRARY_PATH that prevents the inference server container from running correctly (see issue 141255952). Use a GKE 1.13 or earlier version or a GKE 1.14.6 or later version to avoid this issue.
Client Libraries and Examples
Ubuntu 20.04 builds of the client libraries and examples are included in this release in the attached v2.6.0_ubuntu2004.clients.tar.gz file. See Getting the Client Libraries for more information on the client libraries and examples. The client SDK is also available as a NGC Container.
Windows Support
An alpha release of Triton for Windows is provided in the attached file: tritonserver2.6.0-win.zip. This is an alpha 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:
-
Only TensorRT models are supported. The TensorRT version is 7.2.2.
-
Only the GRPC endpoint is supported, HTTP/REST is not supported.
-
Prometheus metrics endpoint is not supported.
-
System and CUDA shared memory are not supported.
The following components are required for this release and must be installed on the Windows system:
-
NVIDIA Driver release 455 or later.
-
CUDA 11.1.1
-
cuDNN 8.0.5
-
TensorRT 7.2.2
Jetson Jetpack Support
A release of Triton for JetPack 4.4 (https://developer.nvidia.com/embedded/jetpack) is provided in the attached file: tritonserver2.6.0-jetpack4.4.tgz. This release supports the TensorFlow 2.3.1, TensorFlow 1.15.4, TensorRT 7.1, and Custom backends as well as ensembles. 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.
Installation and Usage
The following dependencies must be installed before running Triton.
apt-get update && \
apt-get install -y --no-install-recommends \
software-properties-common \
autoconf \
automake \
build-essential \
cmake \
git \
libb64-dev \
libre2-dev \
libssl-dev \
libtool \
libboost-dev \
libcurl4-openssl-dev \
rapidjson-dev \
patchelf \
zlib1g-dev
To run the clients the following dependencies must be installed.
apt-get install -y --no-install-recommends \
curl \
libopencv-dev=3.2.0+dfsg-4ubuntu0.1 \
libopencv-core-dev=3.2.0+dfsg-4ubuntu0.1 \
pkg-config \
python3 \
python3-pip \
python3-dev
python3 -m pip install --upgrade wheel setuptools
python3 -m pip install --upgrade grpcio-tools numpy pillow
The Python 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.6.0-py3-none-linux_aarch64.whl[all]
On jetson, the backend directory needs to be explicitly set with the --backend-directory
flag. Triton also defaults to using TensorFlow 1.x and a version string is required to specify TensorFlow 2.x.
tritonserver --model-repository=/path/to/model_repo --backend-directory=/path/to/tritonserver/backends \
--backend-config=tensorflow,version=2