Skip to content

Commit

Permalink
Merge branch 'main' of github.com:triton-inference-server/server into…
Browse files Browse the repository at this point in the history
… yinggeh-DLIS-7272-refactor-core-input-checks
  • Loading branch information
yinggeh committed Sep 1, 2024
2 parents 8492549 + f6021f7 commit 4a80379
Show file tree
Hide file tree
Showing 76 changed files with 2,722 additions and 115 deletions.
4 changes: 4 additions & 0 deletions Dockerfile.QA
Original file line number Diff line number Diff line change
Expand Up @@ -390,6 +390,10 @@ RUN rm -fr qa/L0_copyrights qa/L0_build_variants && \
RUN find qa/pkgs/ -maxdepth 1 -type f -name \
"tritonserver-*.whl" | xargs -I {} pip3 install --upgrade {}[all]

# Install Triton Frontend Python API
RUN find qa/pkgs/ -type f -name \
"tritonfrontend-*.whl" | xargs -I {} pip3 install --upgrade {}[all]

ENV LD_LIBRARY_PATH /opt/tritonserver/qa/clients:${LD_LIBRARY_PATH}

# DLIS-3631: Needed to run Perf Analyzer CI tests correctly
Expand Down
2 changes: 1 addition & 1 deletion Dockerfile.sdk
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@
#

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

ARG TRITON_CLIENT_REPO_SUBDIR=clientrepo
ARG TRITON_PA_REPO_SUBDIR=perfanalyzerrepo
Expand Down
12 changes: 6 additions & 6 deletions Dockerfile.win10.min
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ RUN choco install unzip -y
#
# Installing TensorRT
#
ARG TENSORRT_VERSION=10.2.0.19
ARG TENSORRT_VERSION=10.3.0.26
ARG TENSORRT_ZIP="TensorRT-${TENSORRT_VERSION}.Windows10.x86_64.cuda-12.5.zip"
ARG TENSORRT_SOURCE=https://developer.nvidia.com/downloads/compute/machine-learning/tensorrt/10.2.0/zip/TensorRT-10.2.0.19.Windows10.x86_64.cuda-12.5.zip
# COPY ${TENSORRT_ZIP} /tmp/${TENSORRT_ZIP}
Expand All @@ -51,7 +51,7 @@ LABEL TENSORRT_VERSION="${TENSORRT_VERSION}"
#
# Installing cuDNN
#
ARG CUDNN_VERSION=9.2.1.18
ARG CUDNN_VERSION=9.3.0.75
ARG CUDNN_ZIP=cudnn-windows-x86_64-${CUDNN_VERSION}_cuda12-archive.zip
ARG CUDNN_SOURCE=https://developer.download.nvidia.com/compute/cudnn/redist/cudnn/windows-x86_64/cudnn-windows-x86_64-9.2.1.18_cuda12-archive.zip
ADD ${CUDNN_SOURCE} /tmp/${CUDNN_ZIP}
Expand Down Expand Up @@ -101,14 +101,14 @@ LABEL CMAKE_VERSION=${CMAKE_VERSION}
#
# Installing Visual Studio BuildTools: VS17 2022
#
ARG BUILDTOOLS_VERSION=17.9.34622.214
ARG BUILDTOOLS_VERSION=17.10.35201.131
# Download collect.exe in case of an install failure.
ADD https://aka.ms/vscollect.exe "C:\tmp\collect.exe"

# Use the latest release channel. For more control, specify the location of an internal layout.
# Download the Build Tools bootstrapper.
# ARG BUILD_TOOLS_SOURCE=https://aka.ms/vs/17/release/vs_buildtools.exe
ARG BUILD_TOOLS_SOURCE=https://download.visualstudio.microsoft.com/download/pr/5e7b923b-7d89-4e14-95b8-a84ab168e243/96b21d216c7954aaf606c6d7ba59a3de991884a8a86c578c767ba349c23188a9/vs_BuildTools.exe
ARG BUILD_TOOLS_SOURCE=https://download.visualstudio.microsoft.com/download/pr/28626b4b-f88f-4b55-a0cf-f3eaa2c643fb/e6c43d4dfb36338d954cdb3ad9010ab2a479e712088f4f6b016eadcc721bab28/vs_BuildTools.exe
ADD ${BUILD_TOOLS_SOURCE} vs_buildtools.exe
# Install Build Tools with the Microsoft.VisualStudio.Workload.VCTools workload, including recommended.
ARG VS_INSTALL_PATH_WP="C:\BuildTools"
Expand Down Expand Up @@ -175,15 +175,15 @@ RUN copy "%CUDA_INSTALL_ROOT_WP%\extras\visual_studio_integration\MSBuildExtensi

RUN setx PATH "%CUDA_INSTALL_ROOT_WP%\bin;%PATH%"

ARG CUDNN_VERSION=9.2.1.18
ARG CUDNN_VERSION=9.3.0.75
ENV CUDNN_VERSION ${CUDNN_VERSION}
COPY --from=dependency_base /cudnn /cudnn
RUN copy cudnn\bin\cudnn*.dll "%CUDA_INSTALL_ROOT_WP%\bin\."
RUN copy cudnn\lib\x64\cudnn*.lib "%CUDA_INSTALL_ROOT_WP%\lib\x64\."
RUN copy cudnn\include\cudnn*.h "%CUDA_INSTALL_ROOT_WP%\include\."
LABEL CUDNN_VERSION="${CUDNN_VERSION}"

ARG TENSORRT_VERSION=10.2.0.19
ARG TENSORRT_VERSION=10.3.0.26
ENV TRT_VERSION ${TENSORRT_VERSION}
COPY --from=dependency_base /TensorRT /TensorRT
RUN setx PATH "c:\TensorRT\lib;%PATH%"
Expand Down
8 changes: 4 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ ___

##### LATEST RELEASE
You are currently on the `main` branch which tracks under-development progress towards the next release.
The current release is version [2.48.0](https://github.com/triton-inference-server/server/releases/latest) and corresponds to the 24.07 container release on NVIDIA GPU Cloud (NGC).
The current release is version [2.49.0](https://github.com/triton-inference-server/server/releases/latest) and corresponds to the 24.08 container release on NVIDIA GPU Cloud (NGC).

Triton Inference Server is an open source inference serving software that
streamlines AI inferencing. Triton enables teams to deploy any AI model from
Expand Down Expand Up @@ -103,16 +103,16 @@ Inference Server with the

```bash
# Step 1: Create the example model repository
git clone -b r24.07 https://github.com/triton-inference-server/server.git
git clone -b r24.08 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:24.07-py3 tritonserver --model-repository=/models
docker run --gpus=1 --rm --net=host -v ${PWD}/model_repository:/models nvcr.io/nvidia/tritonserver:24.08-py3 tritonserver --model-repository=/models

# 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:24.07-py3-sdk
docker run -it --rm --net=host nvcr.io/nvidia/tritonserver:24.08-py3-sdk
/workspace/install/bin/image_client -m densenet_onnx -c 3 -s INCEPTION /workspace/images/mug.jpg

# Inference should return the following
Expand Down
2 changes: 1 addition & 1 deletion TRITON_VERSION
Original file line number Diff line number Diff line change
@@ -1 +1 @@
2.49.0dev
2.50.0dev
32 changes: 20 additions & 12 deletions build.py
Original file line number Diff line number Diff line change
Expand Up @@ -70,9 +70,9 @@
# incorrectly load the other version of the openvino libraries.
#
TRITON_VERSION_MAP = {
"2.49.0dev": (
"24.08dev", # triton container
"24.07", # upstream container
"2.50.0dev": (
"24.09dev", # triton container
"24.08", # upstream container
"1.18.1", # ORT
"2024.0.0", # ORT OpenVINO
"2024.0.0", # Standalone OpenVINO
Expand Down Expand Up @@ -116,7 +116,8 @@ def fail_if(p, msg):


def target_platform():
if FLAGS.target_platform is not None:
# When called by compose.py, FLAGS will be None
if FLAGS and FLAGS.target_platform is not None:
return FLAGS.target_platform
platform_string = platform.system().lower()
if platform_string == "linux":
Expand All @@ -132,7 +133,8 @@ def target_platform():


def target_machine():
if FLAGS.target_machine is not None:
# When called by compose.py, FLAGS will be None
if FLAGS and FLAGS.target_machine is not None:
return FLAGS.target_machine
return platform.machine().lower()

Expand Down Expand Up @@ -214,6 +216,8 @@ def header(self, desc=None):

self.comment("Exit script immediately if any command fails")
if target_platform() == "windows":
self._file.write("$UseStructuredOutput = $false\n")
self.blankln()
self._file.write("function ExitWithCode($exitcode) {\n")
self._file.write(" $host.SetShouldExit($exitcode)\n")
self._file.write(" exit $exitcode\n")
Expand Down Expand Up @@ -639,13 +643,16 @@ def pytorch_cmake_args(images):
cmake_backend_arg("pytorch", "TRITON_PYTORCH_DOCKER_IMAGE", None, image),
]

if FLAGS.enable_gpu:
# TODO: TPRD-372 TorchTRT extension is not currently supported by our manylinux build
# TODO: TPRD-373 NVTX extension is not currently supported by our manylinux build
if target_platform() != "rhel":
if FLAGS.enable_gpu:
cargs.append(
cmake_backend_enable("pytorch", "TRITON_PYTORCH_ENABLE_TORCHTRT", True)
)
cargs.append(
cmake_backend_enable("pytorch", "TRITON_PYTORCH_ENABLE_TORCHTRT", True)
cmake_backend_enable("pytorch", "TRITON_ENABLE_NVTX", FLAGS.enable_nvtx)
)
cargs.append(
cmake_backend_enable("pytorch", "TRITON_ENABLE_NVTX", FLAGS.enable_nvtx)
)
return cargs


Expand All @@ -655,7 +662,9 @@ def onnxruntime_cmake_args(images, library_paths):
"onnxruntime",
"TRITON_BUILD_ONNXRUNTIME_VERSION",
None,
TRITON_VERSION_MAP[FLAGS.version][2],
os.getenv("TRITON_BUILD_ONNXRUNTIME_VERSION")
if os.getenv("TRITON_BUILD_ONNXRUNTIME_VERSION")
else TRITON_VERSION_MAP[FLAGS.version][2],
)
]

Expand Down Expand Up @@ -1301,7 +1310,6 @@ def dockerfile_prepare_container_linux(argmap, backends, enable_gpu, target_mach
gpu_enabled=gpu_enabled
)

# This
if target_platform() == "rhel":
df += """
# Common dpeendencies.
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:24.07-py3
imageName: nvcr.io/nvidia/tritonserver:24.08-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.48.0"
appVersion: "2.49.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:24.07-py3
imageName: nvcr.io/nvidia/tritonserver:24.08-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/r24.07/docs/model_management.md
# See https://github.com/triton-inference-server/server/blob/r24.08/docs/model_management.md
# for more details
#- --model-control-mode=explicit|poll|none
#
# Additional server args
#
# see https://github.com/triton-inference-server/server/blob/r24.07/README.md
# see https://github.com/triton-inference-server/server/blob/r24.08/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:24.07-py3
imageName: nvcr.io/nvidia/tritonserver:24.08-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:24.07-py3-sdk
- image: nvcr.io/nvidia/tritonserver:24.08-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.48
export MINOR_VERSION=2.48.0
export NGC_VERSION=24.07-py3
export MAJOR_VERSION=2.49
export MINOR_VERSION=2.49.0
export NGC_VERSION=24.08-py3

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

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

apiVersion: v1
appVersion: "2.48"
appVersion: "2.49"
description: Triton Inference Server
name: triton-inference-server
version: 2.48.0
version: 2.49.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/24.07
publishedVersion: '2.48.0'
modelRepositoryPath: gs://triton_sample_models/24.08
publishedVersion: '2.49.0'
gcpMarketplace: true

image:
registry: gcr.io
repository: nvidia-ngc-public/tritonserver
tag: 24.07-py3
tag: 24.08-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.48.0'
publishedVersion: '2.49.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.48.0'
publishedVersion: '2.49.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/24.07
default: gs://triton_sample_models/24.08
image.ldPreloadPath:
type: string
title: Leave this empty by default. Triton allows users to create custom layers for backend such as TensorRT plugin or Tensorflow custom ops, the compiled shared library must be provided via LD_PRELOAD environment variable.
Expand Down
6 changes: 3 additions & 3 deletions deploy/gke-marketplace-app/trt-engine/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@
```
docker run --gpus all -it --network host \
--shm-size=1g --ulimit memlock=-1 --ulimit stack=67108864 \
-v ~:/scripts nvcr.io/nvidia/tensorrt:24.07-py3
-v ~:/scripts nvcr.io/nvidia/tensorrt:24.08-py3
pip install onnx six torch tf2onnx tensorflow
Expand All @@ -57,7 +57,7 @@ mkdir -p engines
python3 builder.py -m models/fine-tuned/bert_tf_ckpt_large_qa_squad2_amp_128_v19.03.1/model.ckpt -o engines/bert_large_int8_bs1_s128.engine -b 1 -s 128 -c models/fine-tuned/bert_tf_ckpt_large_qa_squad2_amp_128_v19.03.1/ -v models/fine-tuned/bert_tf_ckpt_large_qa_squad2_amp_128_v19.03.1/vocab.txt --int8 --fp16 --strict --calib-num 1 -iln -imh
gsutil cp bert_large_int8_bs1_s128.engine gs://triton_sample_models/24.07/bert/1/model.plan
gsutil cp bert_large_int8_bs1_s128.engine gs://triton_sample_models/24.08/bert/1/model.plan
```

For each Triton upgrade, container version used to generate the model, and the model path in GCS `gs://triton_sample_models/24.07/` should be updated accordingly with the correct version.
For each Triton upgrade, container version used to generate the model, and the model path in GCS `gs://triton_sample_models/24.08/` should be updated accordingly with the correct version.
2 changes: 1 addition & 1 deletion deploy/k8s-onprem/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ tags:
loadBalancing: true

image:
imageName: nvcr.io/nvidia/tritonserver:24.07-py3
imageName: nvcr.io/nvidia/tritonserver:24.08-py3
pullPolicy: IfNotPresent
modelRepositoryServer: < Replace with the IP Address of your file server >
modelRepositoryPath: /srv/models
Expand Down
2 changes: 1 addition & 1 deletion deploy/oci/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:24.07-py3
imageName: nvcr.io/nvidia/tritonserver:24.08-py3
pullPolicy: IfNotPresent
modelRepositoryPath: s3://https://<OCI_NAMESPACE>.compat.objectstorage.<OCI_REGION>.oraclecloud.com:443/triton-inference-server-repository
numGpus: 1
Expand Down
8 changes: 4 additions & 4 deletions docs/customization_guide/build.md
Original file line number Diff line number Diff line change
Expand Up @@ -173,7 +173,7 @@ $ ./build.py ... --repo-tag=common:<container tag> --repo-tag=core:<container ta

If you are building on a release branch then `<container tag>` will
default to the branch name. For example, if you are building on the
r24.07 branch, `<container tag>` will default to r24.07. If you are
r24.08 branch, `<container tag>` will default to r24.08. If you are
building on any other branch (including the *main* branch) then
`<container tag>` will default to "main". Therefore, you typically do
not need to provide `<container tag>` at all (nor the preceding
Expand Down Expand Up @@ -328,14 +328,14 @@ and so you must enable them explicitly. The following build.py
invocation builds all features and backends available on windows.

```bash
python build.py --cmake-dir=<path/to/repo>/build --build-dir=/tmp/citritonbuild --no-container-pull --image=base,win10-py3-min --enable-logging --enable-stats --enable-tracing --enable-gpu --endpoint=grpc --endpoint=http --repo-tag=common:<container tag> --repo-tag=core:<container tag> --repo-tag=backend:<container tag> --repo-tag=thirdparty:<container tag> --backend=ensemble --backend=tensorrt:<container tag> --backend=onnxruntime:<container tag> --backend=openvino:<container tag>
python build.py --cmake-dir=<path/to/repo>/build --build-dir=/tmp/citritonbuild --no-container-pull --image=base,win10-py3-min --enable-logging --enable-stats --enable-tracing --enable-gpu --endpoint=grpc --endpoint=http --repo-tag=common:<container tag> --repo-tag=core:<container tag> --repo-tag=backend:<container tag> --repo-tag=thirdparty:<container tag> --backend=ensemble --backend=tensorrt:<container tag> --backend=onnxruntime:<container tag> --backend=openvino:<container tag> --backend=python:<container tag>
```

If you are building on *main* branch then `<container tag>` will
default to "main". If you are building on a release branch then
`<container tag>` will default to the branch name. For example, if you
are building on the r24.07 branch, `<container tag>` will default to
r24.07. Therefore, you typically do not need to provide `<container
are building on the r24.08 branch, `<container tag>` will default to
r24.08. Therefore, you typically do not need to provide `<container
tag>` at all (nor the preceding colon). You can use a different
`<container tag>` for a component to instead use the corresponding
branch/tag in the build. For example, if you have a branch called
Expand Down
Loading

0 comments on commit 4a80379

Please sign in to comment.