Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
21 commits
Select commit Hold shift + click to select a range
b90dd03
fix: Install GenAI-Perf and Perf Analyzer in SDK container from pypi.…
matthewkotila Sep 10, 2025
c300c48
feat: Static key authentication for OpenAI frontend (#8374) (#8385)
yinggeh Sep 10, 2025
f59bc63
version: TPRD-1695: Update version fro 25.09 release (#8386)
mc-nv Sep 10, 2025
502e2af
fix: Replace dead link for Densenet (#8394) (#8395)
yinggeh Sep 19, 2025
5072858
fix: OpenAI and vLLM related tests (#8397)
yinggeh Sep 23, 2025
365f77f
fix: Ensure model name cannot be used to escape model repository (#8406)
whoisj Sep 24, 2025
104e51c
ci: Fix L0_infer_valgrind--base (#8402)
yinggeh Sep 25, 2025
baf942e
ci: Fix failing CI tests (#8415)
pskiran1 Sep 29, 2025
8a2208b
Update `mlflow` test (#8422)
mc-nv Sep 30, 2025
4704e79
ci: Update TRT-LLM tests with new config "prompt_embedding_table_data…
yinggeh Sep 30, 2025
3fe3d07
Update compatibility.md (#8424)
mc-nv Sep 30, 2025
80a9e4f
Typo, choose ARM image by mistake (#8426)
mc-nv Sep 30, 2025
d29adbd
Update documentation and versions (#8428)
mc-nv Sep 30, 2025
3f7e34c
Fix `fetch_models.sh` in examples. (#8434)
mc-nv Oct 1, 2025
5dc43cd
test: Fix L0_simple_lib--base (#8431) (#8436)
yinggeh Oct 2, 2025
29ebd4f
fix: Update L0_openai to adapt TRT-LLM v1.0 (#8430)
whoisj Oct 2, 2025
cf26ef7
fix: Validate `model_name` when Loading Model from Repository (#8427)…
whoisj Oct 3, 2025
12ea5a3
Update setup_python_enviroment.sh (#8440)
dmitry-tokarev-nv Oct 3, 2025
00667bf
Removing package cleanup as it missed. It shouldn't play role after e…
mc-nv Oct 3, 2025
e6f46c4
Remove software-properties-common from base container to mitigate GPL…
mc-nv Oct 3, 2025
ec34023
Merge branch 'r25.09' into mchornyi/TPRD-1620/mlflow
mc-nv Oct 3, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
72 changes: 6 additions & 66 deletions Dockerfile.sdk
Original file line number Diff line number Diff line change
Expand Up @@ -29,10 +29,9 @@
#

# Base image on the minimum Triton container
ARG BASE_IMAGE=nvcr.io/nvidia/tritonserver:25.08-py3-min
ARG BASE_IMAGE=nvcr.io/nvidia/tritonserver:25.09-py3-min

ARG TRITON_CLIENT_REPO_SUBDIR=clientrepo
ARG TRITON_PA_REPO_SUBDIR=perfanalyzerrepo
ARG TRITON_REPO_ORGANIZATION=http://github.com/triton-inference-server
ARG TRITON_COMMON_REPO_TAG=main
ARG TRITON_CORE_REPO_TAG=main
Expand All @@ -41,7 +40,6 @@ ARG TRITON_THIRD_PARTY_REPO_TAG=main
ARG TRITON_ENABLE_GPU=ON
ARG JAVA_BINDINGS_MAVEN_VERSION=3.8.4
ARG JAVA_BINDINGS_JAVACPP_PRESETS_TAG=1.5.8
ARG TRITON_PERF_ANALYZER_BUILD=1
# DCGM version to install for Model Analyzer
ARG DCGM_VERSION=4.4.0-1

Expand Down Expand Up @@ -97,7 +95,6 @@ RUN rm -f /usr/bin/python && \
# Build the client library and examples
ARG TRITON_REPO_ORGANIZATION
ARG TRITON_CLIENT_REPO_SUBDIR
ARG TRITON_PA_REPO_SUBDIR
ARG TRITON_COMMON_REPO_TAG
ARG TRITON_CORE_REPO_TAG
ARG TRITON_CLIENT_REPO_TAG
Expand All @@ -106,14 +103,10 @@ ARG TRITON_ENABLE_GPU
ARG JAVA_BINDINGS_MAVEN_VERSION
ARG JAVA_BINDINGS_JAVACPP_PRESETS_TAG
ARG TARGETPLATFORM
ARG TRITON_PERF_ANALYZER_BUILD

ENV TRITON_PERF_ANALYZER_BUILD=${TRITON_PERF_ANALYZER_BUILD}

WORKDIR /workspace
COPY TRITON_VERSION .
COPY ${TRITON_CLIENT_REPO_SUBDIR} client
COPY ${TRITON_PA_REPO_SUBDIR} perf_analyzer

WORKDIR /workspace/client_build
RUN cmake -DCMAKE_INSTALL_PREFIX=/workspace/install \
Expand All @@ -124,63 +117,11 @@ RUN cmake -DCMAKE_INSTALL_PREFIX=/workspace/install \
-DTRITON_THIRD_PARTY_REPO_TAG=${TRITON_THIRD_PARTY_REPO_TAG} \
-DTRITON_ENABLE_PERF_ANALYZER=OFF \
-DTRITON_ENABLE_CC_HTTP=ON -DTRITON_ENABLE_CC_GRPC=ON \
-DTRITON_ENABLE_PYTHON_HTTP=OFF -DTRITON_ENABLE_PYTHON_GRPC=OFF \
-DTRITON_ENABLE_PYTHON_HTTP=ON -DTRITON_ENABLE_PYTHON_GRPC=ON \
-DTRITON_ENABLE_JAVA_HTTP=ON \
-DTRITON_ENABLE_EXAMPLES=ON -DTRITON_ENABLE_TESTS=ON \
-DTRITON_ENABLE_GPU=${TRITON_ENABLE_GPU} /workspace/client
RUN cmake --build . -v --parallel --target cc-clients java-clients

# TODO: PA will rebuild the CC clients since it depends on it.
# This should be optimized so that we do not have to build
# the CC clients twice. Similarly, because the SDK expectation is
# that PA is packaged with the python client, we hold off on building
# the python client until now. Post-migration we should focus
# effort on de-tangling these flows.
WORKDIR /workspace/pa_build
# NOTE: If TRITON_PERF_ANALYZER_BUILD=0, the Performance Analyzer (PA) binaries must already exist
# in the path specified by the ARG TRITON_PA_REPO_SUBDIR.
RUN if [ "$TRITON_PERF_ANALYZER_BUILD" = "1" ]; then \
cmake -DCMAKE_INSTALL_PREFIX=/workspace/install \
-DTRITON_VERSION=`cat /workspace/TRITON_VERSION` \
-DTRITON_REPO_ORGANIZATION=${TRITON_REPO_ORGANIZATION} \
-DTRITON_COMMON_REPO_TAG=${TRITON_COMMON_REPO_TAG} \
-DTRITON_CORE_REPO_TAG=${TRITON_CORE_REPO_TAG} \
-DTRITON_CLIENT_REPO_TAG=${TRITON_CLIENT_REPO_TAG} \
-DTRITON_THIRD_PARTY_REPO_TAG=${TRITON_THIRD_PARTY_REPO_TAG} \
-DTRITON_ENABLE_PERF_ANALYZER_C_API=ON \
-DTRITON_ENABLE_PERF_ANALYZER_TFS=ON \
-DTRITON_ENABLE_PERF_ANALYZER_TS=ON \
-DTRITON_ENABLE_PERF_ANALYZER_OPENAI=ON \
-DTRITON_ENABLE_CC_HTTP=ON \
-DTRITON_ENABLE_CC_GRPC=ON \
-DTRITON_ENABLE_PYTHON_HTTP=ON \
-DTRITON_ENABLE_PYTHON_GRPC=ON \
-DTRITON_PACKAGE_PERF_ANALYZER=ON \
-DTRITON_ENABLE_GPU=${TRITON_ENABLE_GPU} \
/workspace/perf_analyzer && \
cmake --build . -v --parallel --target perf-analyzer python-clients && \
pip3 install build && \
cd /workspace/perf_analyzer/genai-perf && \
python3 -m build --wheel --outdir /workspace/install/python; \
else \
ls /workspace/perf_analyzer/ && \
tar -xzf /workspace/perf_analyzer/perf_analyzer*.tar.gz -C /workspace/install/bin && \
echo "Perf Analyzer binaries was extracted and not build" && \
cmake -DCMAKE_INSTALL_PREFIX=/workspace/install \
-DTRITON_VERSION=`cat /workspace/TRITON_VERSION` \
-DTRITON_REPO_ORGANIZATION=${TRITON_REPO_ORGANIZATION} \
-DTRITON_COMMON_REPO_TAG=${TRITON_COMMON_REPO_TAG} \
-DTRITON_CLIENT_REPO_TAG=${TRITON_CLIENT_REPO_TAG} \
-DTRITON_THIRD_PARTY_REPO_TAG=${TRITON_THIRD_PARTY_REPO_TAG} \
-DTRITON_ENABLE_PYTHON_HTTP=ON \
-DTRITON_ENABLE_PYTHON_GRPC=ON \
-DTRITON_PACKAGE_PERF_ANALYZER=ON \
-DTRITON_ENABLE_GPU=${TRITON_ENABLE_GPU} \
/workspace/perf_analyzer && \
cmake --build . -v --parallel --target python-clients && \
mkdir -p /workspace/install/python && \
cp /workspace/perf_analyzer/genai_perf-*.whl /workspace/install/python/; \
fi
RUN cmake --build . -v --parallel --target cc-clients java-clients python-clients

# Install Java API Bindings
RUN if [ "$TARGETPLATFORM" = "linux/amd64" ]; then \
Expand Down Expand Up @@ -226,7 +167,6 @@ RUN apt-get update && \
python3-pip \
python3-setuptools \
python3-wheel \
software-properties-common \
vim \
wget && \
pip3 install "grpcio<1.68" "grpcio-tools<1.68"
Expand All @@ -235,7 +175,6 @@ WORKDIR /workspace
COPY TRITON_VERSION .
COPY NVIDIA_Deep_Learning_Container_License.pdf .
COPY --from=sdk_build /workspace/client/ client/
COPY --from=sdk_build /workspace/perf_analyzer/ perf_analyzer/
COPY --from=sdk_build /workspace/install/ install/
RUN cd install && \
export VERSION=`cat /workspace/TRITON_VERSION` && \
Expand All @@ -253,8 +192,6 @@ COPY --from=sdk_build /workspace/client/src/python/library/tests/* qa/python_cli
# Install an image needed by the quickstart and other documentation.
COPY qa/images/mug.jpg images/mug.jpg

RUN pip3 install install/python/genai_perf-*.whl

# Install the dependencies needed to run the client examples. These
# are not needed for building but including them allows this image to
# be used to run the client examples.
Expand All @@ -263,6 +200,9 @@ RUN pip3 install --upgrade "numpy<2" pillow attrdict && \
"tritonclient-*linux*.whl" | xargs printf -- '%s[all]' | \
xargs pip3 install --upgrade

# Install GenAI-Perf
RUN pip3 install genai-perf

# Install DCGM
RUN if [ "$TRITON_ENABLE_GPU" = "ON" ]; then \
[ "$(uname -m)" != "x86_64" ] && arch="sbsa" || arch="x86_64" && \
Expand Down
27 changes: 11 additions & 16 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,11 +27,6 @@
-->
[![License](https://img.shields.io/badge/License-BSD3-lightgrey.svg)](https://opensource.org/licenses/BSD-3-Clause)

>[!WARNING]
>You are currently on the `main` branch which tracks under-development progress
>towards the next release. The current release is version [2.60.0](https://github.com/triton-inference-server/server/releases/latest)
>and corresponds to the 25.08 container release on NVIDIA GPU Cloud (NGC).

# Triton Inference Server

Triton Inference Server is an open source inference serving software that
Expand Down Expand Up @@ -61,7 +56,7 @@ Major features include:
- Provides [Backend API](https://github.com/triton-inference-server/backend) that
allows adding custom backends and pre/post processing operations
- Supports writing custom backends in python, a.k.a.
[Python-based backends.](https://github.com/triton-inference-server/backend/blob/main/docs/python_based_backends.md#python-based-backends)
[Python-based backends.](https://github.com/triton-inference-server/backend/blob/r25.09/docs/python_based_backends.md#python-based-backends)
- Model pipelines using
[Ensembling](docs/user_guide/architecture.md#ensemble-models) or [Business
Logic Scripting
Expand Down Expand Up @@ -90,16 +85,16 @@ Inference Server with the

```bash
# Step 1: Create the example model repository
git clone -b r25.08 https://github.com/triton-inference-server/server.git
git clone -b r25.09 https://github.com/triton-inference-server/server.git
cd server/docs/examples
./fetch_models.sh

# Step 2: Launch triton from the NGC Triton container
docker run --gpus=1 --rm --net=host -v ${PWD}/model_repository:/models nvcr.io/nvidia/tritonserver:25.08-py3 tritonserver --model-repository=/models --model-control-mode explicit --load-model densenet_onnx
docker run --gpus=1 --rm --net=host -v ${PWD}/model_repository:/models nvcr.io/nvidia/tritonserver:25.09-py3 tritonserver --model-repository=/models --model-control-mode explicit --load-model densenet_onnx

# Step 3: Sending an Inference Request
# In a separate console, launch the image_client example from the NGC Triton SDK container
docker run -it --rm --net=host nvcr.io/nvidia/tritonserver:25.08-py3-sdk /workspace/install/bin/image_client -m densenet_onnx -c 3 -s INCEPTION /workspace/images/mug.jpg
docker run -it --rm --net=host nvcr.io/nvidia/tritonserver:25.09-py3-sdk /workspace/install/bin/image_client -m densenet_onnx -c 3 -s INCEPTION /workspace/images/mug.jpg

# Inference should return the following
Image '/workspace/images/mug.jpg':
Expand Down Expand Up @@ -172,10 +167,10 @@ configuration](docs/user_guide/model_configuration.md) for the model.
[Python](https://github.com/triton-inference-server/python_backend), and more
- Not all the above backends are supported on every platform supported by Triton.
Look at the
[Backend-Platform Support Matrix](https://github.com/triton-inference-server/backend/blob/main/docs/backend_platform_support_matrix.md)
[Backend-Platform Support Matrix](https://github.com/triton-inference-server/backend/blob/r25.09/docs/backend_platform_support_matrix.md)
to learn which backends are supported on your target platform.
- Learn how to [optimize performance](docs/user_guide/optimization.md) using the
[Performance Analyzer](https://github.com/triton-inference-server/perf_analyzer/blob/main/README.md)
[Performance Analyzer](https://github.com/triton-inference-server/perf_analyzer/blob/r25.09/README.md)
and
[Model Analyzer](https://github.com/triton-inference-server/model_analyzer)
- Learn how to [manage loading and unloading models](docs/user_guide/model_management.md) in
Expand All @@ -189,14 +184,14 @@ A Triton *client* application sends inference and other requests to Triton. The
[Python and C++ client libraries](https://github.com/triton-inference-server/client)
provide APIs to simplify this communication.

- Review client examples for [C++](https://github.com/triton-inference-server/client/blob/main/src/c%2B%2B/examples),
[Python](https://github.com/triton-inference-server/client/blob/main/src/python/examples),
and [Java](https://github.com/triton-inference-server/client/blob/main/src/java/src/main/java/triton/client/examples)
- Review client examples for [C++](https://github.com/triton-inference-server/client/blob/r25.09/src/c%2B%2B/examples),
[Python](https://github.com/triton-inference-server/client/blob/r25.09/src/python/examples),
and [Java](https://github.com/triton-inference-server/client/blob/r25.09/src/java/src/main/java/triton/client/examples)
- Configure [HTTP](https://github.com/triton-inference-server/client#http-options)
and [gRPC](https://github.com/triton-inference-server/client#grpc-options)
client options
- Send input data (e.g. a jpeg image) directly to Triton in the [body of an HTTP
request without any additional metadata](https://github.com/triton-inference-server/server/blob/main/docs/protocol/extension_binary_data.md#raw-binary-request)
request without any additional metadata](https://github.com/triton-inference-server/server/blob/r25.09/docs/protocol/extension_binary_data.md#raw-binary-request)

### Extend Triton

Expand All @@ -205,7 +200,7 @@ designed for modularity and flexibility

- [Customize Triton Inference Server container](docs/customization_guide/compose.md) for your use case
- [Create custom backends](https://github.com/triton-inference-server/backend)
in either [C/C++](https://github.com/triton-inference-server/backend/blob/main/README.md#triton-backend-api)
in either [C/C++](https://github.com/triton-inference-server/backend/blob/r25.09/README.md#triton-backend-api)
or [Python](https://github.com/triton-inference-server/python_backend)
- Create [decoupled backends and models](docs/user_guide/decoupled_models.md) that can send
multiple responses for a request or not send any responses for a request
Expand Down
2 changes: 1 addition & 1 deletion TRITON_VERSION
Original file line number Diff line number Diff line change
@@ -1 +1 @@
2.61.0dev
2.61.0
9 changes: 4 additions & 5 deletions build.py
Original file line number Diff line number Diff line change
Expand Up @@ -71,14 +71,14 @@
#

DEFAULT_TRITON_VERSION_MAP = {
"release_version": "2.61.0dev",
"triton_container_version": "25.09dev",
"upstream_container_version": "25.08",
"release_version": "2.61.0",
"triton_container_version": "25.09",
"upstream_container_version": "25.09",
"ort_version": "1.23.0",
"ort_openvino_version": "2025.3.0",
"standalone_openvino_version": "2025.3.0",
"dcgm_version": "4.4.0-1",
"vllm_version": "0.9.2",
"vllm_version": "0.10.1.1",
"rhel_py_version": "3.12.3",
}

Expand Down Expand Up @@ -1384,7 +1384,6 @@ def dockerfile_prepare_container_linux(argmap, backends, enable_gpu, target_mach
libgoogle-perftools-dev \\
libjemalloc-dev \\
libnuma-dev \\
software-properties-common \\
wget \\
{backend_dependencies} \\
python3-pip \\
Expand Down
2 changes: 1 addition & 1 deletion deploy/aws/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@
replicaCount: 1

image:
imageName: nvcr.io/nvidia/tritonserver:25.08-py3
imageName: nvcr.io/nvidia/tritonserver:25.09-py3
pullPolicy: IfNotPresent
modelRepositoryPath: s3://triton-inference-server-repository/model_repository
numGpus: 1
Expand Down
2 changes: 1 addition & 1 deletion deploy/fleetcommand/Chart.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@

apiVersion: v1
# appVersion is the Triton version; update when changing release
appVersion: 2.60.0"
appVersion: 2.61.0"
description: Triton Inference Server (Fleet Command)
name: triton-inference-server
# version is the Chart version; update when changing anything in the chart
Expand Down
6 changes: 3 additions & 3 deletions deploy/fleetcommand/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@
replicaCount: 1

image:
imageName: nvcr.io/nvidia/tritonserver:25.08-py3
imageName: nvcr.io/nvidia/tritonserver:25.09-py3
pullPolicy: IfNotPresent
numGpus: 1
serverCommand: tritonserver
Expand All @@ -47,13 +47,13 @@ image:
#
# To set model control mode, uncomment and configure below
# TODO: Fix the following url, it is invalid
# See https://github.com/triton-inference-server/server/blob/r25.08/docs/user_guide/model_management.md
# See https://github.com/triton-inference-server/server/blob/r25.09/docs/user_guide/model_management.md
# for more details
#- --model-control-mode=explicit|poll|none
#
# Additional server args
#
# see https://github.com/triton-inference-server/server/blob/r25.08/README.md
# see https://github.com/triton-inference-server/server/blob/r25.09/README.md
# for more details

service:
Expand Down
2 changes: 1 addition & 1 deletion deploy/gcp/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@
replicaCount: 1

image:
imageName: nvcr.io/nvidia/tritonserver:25.08-py3
imageName: nvcr.io/nvidia/tritonserver:25.09-py3
pullPolicy: IfNotPresent
modelRepositoryPath: gs://triton-inference-server-repository/model_repository
numGpus: 1
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ metadata:
namespace: default
spec:
containers:
- image: nvcr.io/nvidia/tritonserver:25.08-py3-sdk
- image: nvcr.io/nvidia/tritonserver:25.09-py3-sdk
imagePullPolicy: Always
name: nv-triton-client
securityContext:
Expand Down
6 changes: 3 additions & 3 deletions deploy/gke-marketplace-app/server-deployer/build_and_push.sh
Original file line number Diff line number Diff line change
Expand Up @@ -27,9 +27,9 @@

export REGISTRY=gcr.io/$(gcloud config get-value project | tr ':' '/')
export APP_NAME=tritonserver
export MAJOR_VERSION=2.60
export MINOR_VERSION=2.60.0
export NGC_VERSION=25.08-py3
export MAJOR_VERSION=2.61
export MINOR_VERSION=2.61.0
export NGC_VERSION=25.09-py3

docker pull nvcr.io/nvidia/$APP_NAME:$NGC_VERSION

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,4 +28,4 @@ apiVersion: v1
appVersion: "2.60"
description: Triton Inference Server
name: triton-inference-server
version: 2.60.0
version: 2.61.0
Original file line number Diff line number Diff line change
Expand Up @@ -31,14 +31,14 @@ maxReplicaCount: 3
tritonProtocol: HTTP
# HPA GPU utilization autoscaling target
HPATargetAverageValue: 85
modelRepositoryPath: gs://triton_sample_models/25.08
publishedVersion: '2.60.0'
modelRepositoryPath: gs://triton_sample_models/25.09
publishedVersion: '2.61.0'
gcpMarketplace: true

image:
registry: gcr.io
repository: nvidia-ngc-public/tritonserver
tag: 25.08-py3
tag: 25.09-py3
pullPolicy: IfNotPresent
# modify the model repository here to match your GCP storage bucket
numGpus: 1
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@
x-google-marketplace:
schemaVersion: v2
applicationApiVersion: v1beta1
publishedVersion: '2.60.0'
publishedVersion: '2.61.0'
publishedVersionMetadata:
releaseNote: >-
Initial release.
Expand Down
4 changes: 2 additions & 2 deletions deploy/gke-marketplace-app/server-deployer/schema.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@
x-google-marketplace:
schemaVersion: v2
applicationApiVersion: v1beta1
publishedVersion: '2.60.0'
publishedVersion: '2.61.0'
publishedVersionMetadata:
releaseNote: >-
Initial release.
Expand Down Expand Up @@ -89,7 +89,7 @@ properties:
modelRepositoryPath:
type: string
title: Bucket where models are stored. Please make sure the user/service account to create the GKE app has permission to this GCS bucket. Read Triton documentation on configs and formatting details, supporting TensorRT, TensorFlow, Pytorch, Onnx ... etc.
default: gs://triton_sample_models/25.08
default: gs://triton_sample_models/25.09
image.ldPreloadPath:
type: string
title: Leave this empty by default. Triton allows users to create custom layers for backend such as TensorRT plugin, the compiled shared library must be provided via LD_PRELOAD environment variable.
Expand Down
Loading
Loading