diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml index 745a33730b..35e7ea6916 100644 --- a/.github/workflows/codeql.yml +++ b/.github/workflows/codeql.yml @@ -1,4 +1,4 @@ -# Copyright 2023, NVIDIA CORPORATION & AFFILIATES. All rights reserved. +# Copyright (c) 2018-2024, NVIDIA CORPORATION & AFFILIATES. All rights reserved. # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions diff --git a/.github/workflows/pre-commit.yaml b/.github/workflows/pre-commit.yaml index 531cc2911b..caaeea4a35 100644 --- a/.github/workflows/pre-commit.yaml +++ b/.github/workflows/pre-commit.yaml @@ -1,4 +1,4 @@ -# Copyright 2023, NVIDIA CORPORATION & AFFILIATES. All rights reserved. +# Copyright (c) 2018-2024, NVIDIA CORPORATION & AFFILIATES. All rights reserved. # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions @@ -36,4 +36,3 @@ jobs: - uses: actions/checkout@v3 - uses: actions/setup-python@v3 - uses: pre-commit/action@v3.0.0 - diff --git a/CMakeLists.txt b/CMakeLists.txt index 56cb346dc0..f4c7a8d56e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,5 +1,4 @@ -# Copyright 2020-2023, NVIDIA CORPORATION & AFFILIATES. All rights reserved. -# +# Copyright (c) 2018-2024, NVIDIA CORPORATION & AFFILIATES. All rights reserved. # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions # are met: diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 59e0ace975..3ecbaa4d5a 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,6 +1,5 @@ + # Contribution Guidelines Contributions that fix documentation errors or that make small changes diff --git a/Dockerfile.QA b/Dockerfile.QA index 68ab519b41..0aecadb915 100644 --- a/Dockerfile.QA +++ b/Dockerfile.QA @@ -1,4 +1,4 @@ -# Copyright 2018-2024, NVIDIA CORPORATION & AFFILIATES. All rights reserved. +# Copyright (c) 2018-2024, NVIDIA CORPORATION & AFFILIATES. All rights reserved. # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions @@ -54,13 +54,13 @@ ENV DEBIAN_FRONTEND=noninteractive RUN apt-get update && \ apt-get install -y --no-install-recommends \ - build-essential \ - libarchive-dev \ - libboost-dev \ - python3-dev \ - python3-pip \ - rapidjson-dev \ - software-properties-common && \ + build-essential \ + libarchive-dev \ + libboost-dev \ + python3-dev \ + python3-pip \ + rapidjson-dev \ + software-properties-common && \ rm -rf /var/lib/apt/lists/* RUN pip3 install --upgrade pip && \ @@ -78,7 +78,7 @@ RUN apt update -q=2 \ WORKDIR /workspace/docs/examples/model_repository RUN mkdir -p inception_graphdef/1 && \ wget -O ${TRITONTMP_DIR}/inception_v3_2016_08_28_frozen.pb.tar.gz \ - https://storage.googleapis.com/download.tensorflow.org/models/inception_v3_2016_08_28_frozen.pb.tar.gz && \ + https://storage.googleapis.com/download.tensorflow.org/models/inception_v3_2016_08_28_frozen.pb.tar.gz && \ (cd ${TRITONTMP_DIR} && tar xzf inception_v3_2016_08_28_frozen.pb.tar.gz) && \ mv ${TRITONTMP_DIR}/inception_v3_2016_08_28_frozen.pb inception_graphdef/1/model.graphdef @@ -139,7 +139,7 @@ RUN mkdir -p qa/common && \ cp bin/register_api_test qa/L0_register/. && \ cp bin/async_work_queue_test qa/L0_async_work_queue/. && \ cp tritonbuild/tritonserver/backends/implicit_state/libtriton_implicit_state.so \ - qa/L0_implicit_state/. && \ + qa/L0_implicit_state/. && \ mkdir qa/L0_data_compression/models && \ cp -r docs/examples/model_repository/simple qa/L0_data_compression/models && \ cp bin/data_compressor_test qa/L0_data_compression/. && \ @@ -158,13 +158,13 @@ RUN mkdir -p qa/pkgs && \ RUN mkdir -p qa/L0_simple_ensemble/models/simple/1 && \ cp docs/examples/model_repository/simple/1/model.graphdef \ - qa/L0_simple_ensemble/models/simple/1/. && \ + qa/L0_simple_ensemble/models/simple/1/. && \ mkdir -p qa/L0_simple_ensemble/models/simple/2 && \ cp docs/examples/model_repository/simple/1/model.graphdef \ - qa/L0_simple_ensemble/models/simple/2/. && \ + qa/L0_simple_ensemble/models/simple/2/. && \ mkdir -p qa/L0_socket/models/simple/1 && \ cp docs/examples/model_repository/simple/1/model.graphdef \ - qa/L0_socket/models/simple/1/. + qa/L0_socket/models/simple/1/. RUN mkdir -p qa/L0_backend_identity/models && \ cp -r src/test/models/identity_fp32 qa/L0_backend_identity/models/. && \ @@ -172,37 +172,37 @@ RUN mkdir -p qa/L0_backend_identity/models && \ RUN mkdir -p qa/custom_models/custom_sequence_int32/1 && \ cp tritonbuild/tritonserver/backends/sequence/libtriton_sequence.so \ - qa/custom_models/custom_sequence_int32/1/. && \ + qa/custom_models/custom_sequence_int32/1/. && \ mkdir -p qa/custom_models/custom_dyna_sequence_int32/1 && \ cp tritonbuild/tritonserver/backends/dyna_sequence/libtriton_dyna_sequence.so \ - qa/custom_models/custom_dyna_sequence_int32/1/. + qa/custom_models/custom_dyna_sequence_int32/1/. # L0_lifecycle needs No-GPU build of identity backend. RUN cd tritonbuild/identity && \ rm -rf install build && mkdir build && cd build && \ cmake -DTRITON_ENABLE_GPU=OFF \ - -DCMAKE_INSTALL_PREFIX:PATH=/workspace/tritonbuild/identity/install \ - -DTRITON_REPO_ORGANIZATION:STRING=${TRITON_REPO_ORGANIZATION} \ - -DTRITON_COMMON_REPO_TAG:STRING=${TRITON_COMMON_REPO_TAG} \ - -DTRITON_CORE_REPO_TAG:STRING=${TRITON_CORE_REPO_TAG} \ - -DTRITON_THIRD_PARTY_REPO_TAG:STRING=${TRITON_THIRD_PARTY_REPO_TAG} \ - -DTRITON_BACKEND_REPO_TAG:STRING=${TRITON_BACKEND_REPO_TAG} .. && \ + -DCMAKE_INSTALL_PREFIX:PATH=/workspace/tritonbuild/identity/install \ + -DTRITON_REPO_ORGANIZATION:STRING=${TRITON_REPO_ORGANIZATION} \ + -DTRITON_COMMON_REPO_TAG:STRING=${TRITON_COMMON_REPO_TAG} \ + -DTRITON_CORE_REPO_TAG:STRING=${TRITON_CORE_REPO_TAG} \ + -DTRITON_THIRD_PARTY_REPO_TAG:STRING=${TRITON_THIRD_PARTY_REPO_TAG} \ + -DTRITON_BACKEND_REPO_TAG:STRING=${TRITON_BACKEND_REPO_TAG} .. && \ make -j16 install # L0_backend_python test require triton_shm_monitor RUN cd tritonbuild/python && \ rm -rf install build && mkdir build && cd build && \ cmake -DCMAKE_INSTALL_PREFIX:PATH=/workspace/tritonbuild/python/install \ - -DTRITON_REPO_ORGANIZATION:STRING=${TRITON_REPO_ORGANIZATION} \ - -DTRITON_COMMON_REPO_TAG:STRING=${TRITON_COMMON_REPO_TAG} \ - -DTRITON_CORE_REPO_TAG:STRING=${TRITON_CORE_REPO_TAG} \ - -DTRITON_BACKEND_REPO_TAG:STRING=${TRITON_BACKEND_REPO_TAG} .. && \ + -DTRITON_REPO_ORGANIZATION:STRING=${TRITON_REPO_ORGANIZATION} \ + -DTRITON_COMMON_REPO_TAG:STRING=${TRITON_COMMON_REPO_TAG} \ + -DTRITON_CORE_REPO_TAG:STRING=${TRITON_CORE_REPO_TAG} \ + -DTRITON_BACKEND_REPO_TAG:STRING=${TRITON_BACKEND_REPO_TAG} .. && \ make -j16 triton-shm-monitor install RUN cp tritonbuild/identity/install/backends/identity/libtriton_identity.so \ - qa/L0_lifecycle/. && \ + qa/L0_lifecycle/. && \ cp tritonbuild/python/install/backends/python/triton_shm_monitor*.so \ - qa/common/. && \ + qa/common/. && \ mkdir -p qa/L0_perf_nomodel/custom_models/custom_zero_1_float32/1 && \ mkdir -p qa/L0_perf_pyclients/custom_models/custom_zero_1_int32/1 && \ mkdir -p qa/L0_infer_shm && \ @@ -234,10 +234,10 @@ RUN cp tritonbuild/identity/install/backends/identity/libtriton_identity.so \ # L0_model_control_stress will not be present if gitlab tests are not available RUN if [ -d qa/L0_model_control_stress ]; then \ - mkdir -p qa/L0_model_control_stress_valgrind && \ - cp -r qa/L0_model_control_stress/. qa/L0_model_control_stress_valgrind && \ - mkdir -p qa/L0_model_control_stress_valgrind_massif && \ - cp -r qa/L0_model_control_stress/. qa/L0_model_control_stress_valgrind_massif; \ + mkdir -p qa/L0_model_control_stress_valgrind && \ + cp -r qa/L0_model_control_stress/. qa/L0_model_control_stress_valgrind && \ + mkdir -p qa/L0_model_control_stress_valgrind_massif && \ + cp -r qa/L0_model_control_stress/. qa/L0_model_control_stress_valgrind_massif; \ fi RUN mkdir -p qa/L0_decoupled/models/repeat_int32/1 && \ @@ -251,21 +251,21 @@ RUN mkdir -p qa/L0_decoupled/models/repeat_int32/1 && \ mkdir -p qa/L0_grpc_state_cleanup/models/repeat_int32/1 RUN if [ "$IGPU_BUILD" == "0" ]; then \ - cp backends/repeat/libtriton_repeat.so qa/L0_model_config && \ - cp backends/repeat/libtriton_repeat.so qa/L0_decoupled/models/repeat_int32/1 && \ - cp backends/repeat/libtriton_repeat.so qa/L0_grpc_state_cleanup/models/repeat_int32/1/. && \ - cp backends/square/libtriton_square.so qa/L0_decoupled/models/square_int32/1; \ + cp backends/repeat/libtriton_repeat.so qa/L0_model_config && \ + cp backends/repeat/libtriton_repeat.so qa/L0_decoupled/models/repeat_int32/1 && \ + cp backends/repeat/libtriton_repeat.so qa/L0_grpc_state_cleanup/models/repeat_int32/1/. && \ + cp backends/square/libtriton_square.so qa/L0_decoupled/models/square_int32/1; \ fi RUN cp -r qa/L0_decoupled/models qa/L0_decoupled/python_models/ && \ cp /workspace/tritonbuild/python/examples/decoupled/repeat_model.py \ - qa/L0_decoupled/python_models/repeat_int32/1/. && \ + qa/L0_decoupled/python_models/repeat_int32/1/. && \ cp /workspace/tritonbuild/python/examples/decoupled/repeat_config.pbtxt \ - qa/L0_decoupled/python_models/repeat_int32/. && \ + qa/L0_decoupled/python_models/repeat_int32/. && \ cp /workspace/tritonbuild/python/examples/decoupled/square_model.py \ - qa/L0_decoupled/python_models/square_int32/1/. && \ + qa/L0_decoupled/python_models/square_int32/1/. && \ cp /workspace/tritonbuild/python/examples/decoupled/square_config.pbtxt \ - qa/L0_decoupled/python_models/square_int32/. + qa/L0_decoupled/python_models/square_int32/. RUN mkdir -p qa/L0_decoupled_grpc_error && \ cp -r qa/L0_decoupled/. qa/L0_decoupled_grpc_error @@ -275,10 +275,10 @@ RUN mkdir -p qa/L0_grpc_error_state_cleanup && \ RUN mkdir -p qa/L0_repoagent_checksum/models/identity_int32/1 && \ cp tritonbuild/identity/install/backends/identity/libtriton_identity.so \ - qa/L0_repoagent_checksum/models/identity_int32/1/. + qa/L0_repoagent_checksum/models/identity_int32/1/. RUN mkdir -p qa/L0_passive_instance/models/distributed_int32_int32_int32/1 && \ cp tritonbuild/tritonserver/backends/distributed_addsub/libtriton_distributed_addsub.so \ - qa/L0_passive_instance/models/distributed_int32_int32_int32/1/. + qa/L0_passive_instance/models/distributed_int32_int32_int32/1/. ############################################################################ ## Copy artifacts from sdk container @@ -312,42 +312,42 @@ ENV DEBIAN_FRONTEND=noninteractive # install platform specific packages RUN if [ $(cat /etc/os-release | grep 'VERSION_ID="20.04"' | wc -l) -ne 0 ]; then \ - apt-get update && \ - apt-get install -y --no-install-recommends \ - libpng-dev; \ + apt-get update && \ + apt-get install -y --no-install-recommends \ + libpng-dev; \ elif [ $(cat /etc/os-release | grep 'VERSION_ID="22.04"' | wc -l) -ne 0 ]; then \ - apt-get update && \ - apt-get install -y --no-install-recommends \ - libpng-dev; \ + apt-get update && \ + apt-get install -y --no-install-recommends \ + libpng-dev; \ elif [ $(cat /etc/os-release | grep 'VERSION_ID="18.04"' | wc -l) -ne 0 ]; then \ - apt-get update && \ - apt-get install -y --no-install-recommends \ - libpng-dev; \ + apt-get update && \ + apt-get install -y --no-install-recommends \ + libpng-dev; \ else \ - echo "Ubuntu version must be either 18.04, 20.04 or 22.04" && \ - exit 1; \ + echo "Ubuntu version must be either 18.04, 20.04 or 22.04" && \ + exit 1; \ fi # CI/QA for memcheck requires valgrind # libarchive-dev is required by Python backend RUN apt-get update && apt-get install -y --no-install-recommends \ - curl \ - gdb \ - libopencv-dev \ - libarchive-dev \ - libopencv-core-dev \ - libzmq3-dev \ - maven \ - openjdk-11-jdk \ - nginx \ - npm \ - protobuf-compiler \ - python3-dev \ - python3-pip \ - python3-protobuf \ - python3-setuptools \ - swig \ - valgrind && \ + curl \ + gdb \ + libopencv-dev \ + libarchive-dev \ + libopencv-core-dev \ + libzmq3-dev \ + maven \ + openjdk-11-jdk \ + nginx \ + npm \ + protobuf-compiler \ + python3-dev \ + python3-pip \ + python3-protobuf \ + python3-setuptools \ + swig \ + valgrind && \ rm -rf /var/lib/apt/lists/* # CI/QA expects "python" executable (not python3). @@ -356,18 +356,18 @@ RUN rm -f /usr/bin/python && \ RUN pip3 install --upgrade wheel setuptools && \ pip3 install --upgrade "numpy<2" pillow attrdict future grpcio requests gsutil \ - awscli six grpcio-channelz prettytable virtualenv \ - check-jsonschema + awscli six grpcio-channelz prettytable virtualenv \ + check-jsonschema # go needed for example go client test. RUN if [ "$TARGETPLATFORM" = "linux/arm64" ]; then \ - wget https://golang.org/dl/go1.22.3.linux-arm64.tar.gz && \ - rm -rf /usr/local/go && tar -C /usr/local -xzf go1.22.3.linux-arm64.tar.gz && \ - rm -f go1.22.3.linux-arm64.tar.gz; \ + wget https://golang.org/dl/go1.22.3.linux-arm64.tar.gz && \ + rm -rf /usr/local/go && tar -C /usr/local -xzf go1.22.3.linux-arm64.tar.gz && \ + rm -f go1.22.3.linux-arm64.tar.gz; \ else \ - wget https://golang.org/dl/go1.22.3.linux-amd64.tar.gz && \ - rm -rf /usr/local/go && tar -C /usr/local -xzf go1.22.3.linux-amd64.tar.gz && \ - rm -f go1.22.3.linux-amd64.tar.gz; \ + wget https://golang.org/dl/go1.22.3.linux-amd64.tar.gz && \ + rm -rf /usr/local/go && tar -C /usr/local -xzf go1.22.3.linux-amd64.tar.gz && \ + rm -f go1.22.3.linux-amd64.tar.gz; \ fi ENV GOPATH /root/go ENV PATH $PATH:/usr/local/go/bin:$GOPATH/bin diff --git a/Dockerfile.sdk b/Dockerfile.sdk index c7a68fc6af..43caa11276 100644 --- a/Dockerfile.sdk +++ b/Dockerfile.sdk @@ -1,5 +1,4 @@ -# Copyright 2019-2024, NVIDIA CORPORATION & AFFILIATES. All rights reserved. -# +# Copyright (c) 2018-2024, NVIDIA CORPORATION & AFFILIATES. All rights reserved. # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions # are met: @@ -60,30 +59,30 @@ ENV DEBIAN_FRONTEND=noninteractive RUN apt-get update && \ apt-get install -y --no-install-recommends \ - ca-certificates \ - software-properties-common \ - autoconf \ - automake \ - build-essential \ - curl \ - git \ - gperf \ - libb64-dev \ - libgoogle-perftools-dev \ - libopencv-dev \ - libopencv-core-dev \ - libssl-dev \ - libtool \ - pkg-config \ - python3 \ - python3-pip \ - python3-dev \ - rapidjson-dev \ - vim \ - wget \ - python3-pdfkit \ - openjdk-11-jdk \ - maven && \ + ca-certificates \ + software-properties-common \ + autoconf \ + automake \ + build-essential \ + curl \ + git \ + gperf \ + libb64-dev \ + libgoogle-perftools-dev \ + libopencv-dev \ + libopencv-core-dev \ + libssl-dev \ + libtool \ + pkg-config \ + python3 \ + python3-pip \ + python3-dev \ + rapidjson-dev \ + vim \ + wget \ + python3-pdfkit \ + openjdk-11-jdk \ + maven && \ pip3 install --upgrade wheel setuptools && \ pip3 install --upgrade grpcio-tools && \ pip3 install --upgrade pip @@ -123,17 +122,17 @@ COPY ${TRITON_PA_REPO_SUBDIR} perf_analyzer WORKDIR /workspace/client_build RUN 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_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_JAVA_HTTP=ON \ - -DTRITON_ENABLE_EXAMPLES=ON -DTRITON_ENABLE_TESTS=ON \ - -DTRITON_ENABLE_GPU=${TRITON_ENABLE_GPU} /workspace/client + -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_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_JAVA_HTTP=ON \ + -DTRITON_ENABLE_EXAMPLES=ON -DTRITON_ENABLE_TESTS=ON \ + -DTRITON_ENABLE_GPU=${TRITON_ENABLE_GPU} /workspace/client RUN make -j16 cc-clients java-clients && \ rm -fr ~/.m2 @@ -145,22 +144,22 @@ RUN make -j16 cc-clients java-clients && \ # effort on de-tangling these flows. WORKDIR /workspace/pa_build RUN 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_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 + -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_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 RUN make -j16 perf-analyzer python-clients RUN pip3 install build \ @@ -169,11 +168,11 @@ RUN pip3 install build \ # Install Java API Bindings RUN if [ "$TARGETPLATFORM" = "linux/amd64" ]; then \ - source /workspace/client/src/java-api-bindings/scripts/install_dependencies_and_build.sh \ - --maven-version ${JAVA_BINDINGS_MAVEN_VERSION} \ - --core-tag ${TRITON_CORE_REPO_TAG} \ - --javacpp-tag ${JAVA_BINDINGS_JAVACPP_PRESETS_TAG} \ - --jar-install-path /workspace/install/java-api-bindings; \ + source /workspace/client/src/java-api-bindings/scripts/install_dependencies_and_build.sh \ + --maven-version ${JAVA_BINDINGS_MAVEN_VERSION} \ + --core-tag ${TRITON_CORE_REPO_TAG} \ + --javacpp-tag ${JAVA_BINDINGS_JAVACPP_PRESETS_TAG} \ + --jar-install-path /workspace/install/java-api-bindings; \ fi ############################################################################ @@ -192,24 +191,24 @@ ARG TRITON_ENABLE_GPU RUN apt-get update && \ apt-get install -y --no-install-recommends \ - software-properties-common \ - curl \ - git \ - gperf \ - libb64-dev \ - libgoogle-perftools-dev \ - libopencv-dev \ - libopencv-core-dev \ - libssl-dev \ - libtool \ - python3 \ - python3-pip \ - python3-dev \ - vim \ - wget \ - python3-pdfkit \ - maven \ - default-jdk && \ + software-properties-common \ + curl \ + git \ + gperf \ + libb64-dev \ + libgoogle-perftools-dev \ + libopencv-dev \ + libopencv-core-dev \ + libssl-dev \ + libtool \ + python3 \ + python3-pip \ + python3-dev \ + vim \ + wget \ + python3-pdfkit \ + maven \ + default-jdk && \ pip3 install --upgrade wheel setuptools && \ pip3 install --upgrade grpcio-tools && \ pip3 install --upgrade pip @@ -241,18 +240,18 @@ COPY qa/images/mug.jpg images/mug.jpg # be used to run the client examples. RUN pip3 install --upgrade "numpy<2" pillow attrdict && \ find install/python/ -maxdepth 1 -type f -name \ - "tritonclient-*linux*.whl" | xargs printf -- '%s[all]' | \ + "tritonclient-*linux*.whl" | xargs printf -- '%s[all]' | \ xargs pip3 install --upgrade RUN pip3 install install/python/genai_perf-*.whl # Install DCGM RUN if [ "$TRITON_ENABLE_GPU" = "ON" ]; then \ - [ "$(uname -m)" != "x86_64" ] && arch="sbsa" || arch="x86_64" && \ - curl -o /tmp/cuda-keyring.deb \ - https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/$arch/cuda-keyring_1.0-1_all.deb \ - && apt install /tmp/cuda-keyring.deb && rm /tmp/cuda-keyring.deb && \ - apt-get update && apt-get install -y datacenter-gpu-manager=1:${DCGM_VERSION}; \ + [ "$(uname -m)" != "x86_64" ] && arch="sbsa" || arch="x86_64" && \ + curl -o /tmp/cuda-keyring.deb \ + https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/$arch/cuda-keyring_1.0-1_all.deb \ + && apt install /tmp/cuda-keyring.deb && rm /tmp/cuda-keyring.deb && \ + apt-get update && apt-get install -y datacenter-gpu-manager=1:${DCGM_VERSION}; \ fi # Build expects "python" executable (not python3). diff --git a/Dockerfile.win10.min b/Dockerfile.win10.min index 29d2c2a43a..ad4a2d47d1 100644 --- a/Dockerfile.win10.min +++ b/Dockerfile.win10.min @@ -1,4 +1,4 @@ -# Copyright 2021-2024, NVIDIA CORPORATION & AFFILIATES. All rights reserved. +# Copyright (c) 2018-2024, NVIDIA CORPORATION & AFFILIATES. All rights reserved. # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions @@ -153,16 +153,16 @@ ARG CUDA_MINOR=5 ARG CUDA_PATCH=1 ARG CUDA_VERSION=${CUDA_MAJOR}.${CUDA_MINOR}.${CUDA_PATCH} ARG CUDA_PACKAGES="nvcc_${CUDA_MAJOR}.${CUDA_MINOR} \ - cudart_${CUDA_MAJOR}.${CUDA_MINOR} \ - nvml_dev_${CUDA_MAJOR}.${CUDA_MINOR} \ - cublas_${CUDA_MAJOR}.${CUDA_MINOR} cublas_dev_${CUDA_MAJOR}.${CUDA_MINOR} \ - cufft_${CUDA_MAJOR}.${CUDA_MINOR} cufft_dev_${CUDA_MAJOR}.${CUDA_MINOR} \ - curand_${CUDA_MAJOR}.${CUDA_MINOR} curand_dev_${CUDA_MAJOR}.${CUDA_MINOR} \ - cusolver_${CUDA_MAJOR}.${CUDA_MINOR} cusolver_dev_${CUDA_MAJOR}.${CUDA_MINOR} \ - cusparse_${CUDA_MAJOR}.${CUDA_MINOR} cusparse_dev_${CUDA_MAJOR}.${CUDA_MINOR} \ - cupti_${CUDA_MAJOR}.${CUDA_MINOR} \ - thrust_${CUDA_MAJOR}.${CUDA_MINOR} \ - visual_studio_integration_${CUDA_MAJOR}.${CUDA_MINOR}" + cudart_${CUDA_MAJOR}.${CUDA_MINOR} \ + nvml_dev_${CUDA_MAJOR}.${CUDA_MINOR} \ + cublas_${CUDA_MAJOR}.${CUDA_MINOR} cublas_dev_${CUDA_MAJOR}.${CUDA_MINOR} \ + cufft_${CUDA_MAJOR}.${CUDA_MINOR} cufft_dev_${CUDA_MAJOR}.${CUDA_MINOR} \ + curand_${CUDA_MAJOR}.${CUDA_MINOR} curand_dev_${CUDA_MAJOR}.${CUDA_MINOR} \ + cusolver_${CUDA_MAJOR}.${CUDA_MINOR} cusolver_dev_${CUDA_MAJOR}.${CUDA_MINOR} \ + cusparse_${CUDA_MAJOR}.${CUDA_MINOR} cusparse_dev_${CUDA_MAJOR}.${CUDA_MINOR} \ + cupti_${CUDA_MAJOR}.${CUDA_MINOR} \ + thrust_${CUDA_MAJOR}.${CUDA_MINOR} \ + visual_studio_integration_${CUDA_MAJOR}.${CUDA_MINOR}" ARG CUDA_INSTALL_ROOT_WP="C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v${CUDA_MAJOR}.${CUDA_MINOR}" ARG CUDA_SOURCE=https://developer.download.nvidia.com/compute/cuda/${CUDA_VERSION}/network_installers/cuda_${CUDA_VERSION}_windows_network.exe diff --git a/LICENSE b/LICENSE index 5529809efc..420bf64738 100644 --- a/LICENSE +++ b/LICENSE @@ -1,5 +1,4 @@ -Copyright (c) 2022, NVIDIA CORPORATION. All rights reserved. - +Copyright (c) 2018-2024, NVIDIA CORPORATION & AFFILIATES. All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: diff --git a/README.md b/README.md index da80cc3a2b..0506100189 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,5 @@