2929#
3030
3131# Base image on the minimum Triton container
32- ARG BASE_IMAGE=nvcr.io/nvidia/tritonserver:25.06 -py3-min
32+ ARG BASE_IMAGE=nvcr.io/nvidia/tritonserver:25.07 -py3-min
3333
3434ARG TRITON_CLIENT_REPO_SUBDIR=clientrepo
3535ARG TRITON_PA_REPO_SUBDIR=perfanalyzerrepo
@@ -60,44 +60,35 @@ ENV PIP_BREAK_SYSTEM_PACKAGES=1
6060
6161RUN apt-get update && \
6262 apt-get install -y --no-install-recommends \
63- ca-certificates \
64- software-properties-common \
6563 autoconf \
6664 automake \
6765 build-essential \
66+ ca-certificates \
6867 curl \
6968 git \
7069 gperf \
7170 libb64-dev \
7271 libgoogle-perftools-dev \
73- libopencv-dev \
7472 libopencv-core-dev \
73+ libopencv-dev \
7574 libssl-dev \
7675 libtool \
76+ maven \
77+ openjdk-11-jdk \
7778 pkg-config \
7879 python3 \
79- python3-pip \
8080 python3-dev \
81- python3-wheel \
81+ python3-pdfkit \
82+ python3-pip \
8283 python3-setuptools \
84+ python3-wheel \
8385 rapidjson-dev \
86+ software-properties-common \
8487 vim \
85- wget \
86- python3-pdfkit \
87- openjdk-11-jdk \
88- maven && \
89- pip3 install --upgrade "grpcio-tools<1.68"
90-
91- # Client build requires recent version of CMake (FetchContent required)
92- # Using CMAKE installation instruction from:: https://apt.kitware.com/
93- RUN apt update -q=2 \
94- && apt install -y gpg wget \
95- && wget -O - https://apt.kitware.com/keys/kitware-archive-latest.asc 2>/dev/null | gpg --dearmor - | tee /usr/share/keyrings/kitware-archive-keyring.gpg >/dev/null \
96- && . /etc/os-release \
97- && echo "deb [signed-by=/usr/share/keyrings/kitware-archive-keyring.gpg] https://apt.kitware.com/ubuntu/ $UBUNTU_CODENAME main" | tee /etc/apt/sources.list.d/kitware.list >/dev/null \
98- && apt-get update -q=2 \
99- && apt-get install -y --no-install-recommends cmake=3.28.3* cmake-data=3.28.3* \
100- && cmake --version
88+ wget && \
89+ pip3 install --upgrade "grpcio-tools<1.68" cmake==3.28.3
90+
91+ ENV CMAKE_POLICY_MINIMUM_REQUIRED=3.5
10192
10293# Build expects "python" executable (not python3).
10394RUN rm -f /usr/bin/python && \
@@ -137,8 +128,7 @@ RUN cmake -DCMAKE_INSTALL_PREFIX=/workspace/install \
137128 -DTRITON_ENABLE_JAVA_HTTP=ON \
138129 -DTRITON_ENABLE_EXAMPLES=ON -DTRITON_ENABLE_TESTS=ON \
139130 -DTRITON_ENABLE_GPU=${TRITON_ENABLE_GPU} /workspace/client
140- RUN make -j16 cc-clients java-clients && \
141- rm -fr ~/.m2
131+ RUN cmake --build . -v --parallel --target cc-clients java-clients
142132
143133# TODO: PA will rebuild the CC clients since it depends on it.
144134# This should be optimized so that we do not have to build
@@ -156,6 +146,7 @@ RUN if [ "$TRITON_PERF_ANALYZER_BUILD" = "1" ]; then \
156146 -DTRITON_COMMON_REPO_TAG=${TRITON_COMMON_REPO_TAG} \
157147 -DTRITON_CORE_REPO_TAG=${TRITON_CORE_REPO_TAG} \
158148 -DTRITON_CLIENT_REPO_TAG=${TRITON_CLIENT_REPO_TAG} \
149+ -DTRITON_THIRD_PARTY_REPO_TAG=${TRITON_THIRD_PARTY_REPO_TAG} \
159150 -DTRITON_ENABLE_PERF_ANALYZER_C_API=ON \
160151 -DTRITON_ENABLE_PERF_ANALYZER_TFS=ON \
161152 -DTRITON_ENABLE_PERF_ANALYZER_TS=ON \
@@ -167,7 +158,7 @@ RUN if [ "$TRITON_PERF_ANALYZER_BUILD" = "1" ]; then \
167158 -DTRITON_PACKAGE_PERF_ANALYZER=ON \
168159 -DTRITON_ENABLE_GPU=${TRITON_ENABLE_GPU} \
169160 /workspace/perf_analyzer && \
170- make -j16 perf-analyzer python-clients && \
161+ cmake --build . -v --parallel --target perf-analyzer python-clients && \
171162 pip3 install build && \
172163 cd /workspace/perf_analyzer/genai-perf && \
173164 python3 -m build --wheel --outdir /workspace/install/python; \
@@ -180,12 +171,13 @@ RUN if [ "$TRITON_PERF_ANALYZER_BUILD" = "1" ]; then \
180171 -DTRITON_REPO_ORGANIZATION=${TRITON_REPO_ORGANIZATION} \
181172 -DTRITON_COMMON_REPO_TAG=${TRITON_COMMON_REPO_TAG} \
182173 -DTRITON_CLIENT_REPO_TAG=${TRITON_CLIENT_REPO_TAG} \
174+ -DTRITON_THIRD_PARTY_REPO_TAG=${TRITON_THIRD_PARTY_REPO_TAG} \
183175 -DTRITON_ENABLE_PYTHON_HTTP=ON \
184176 -DTRITON_ENABLE_PYTHON_GRPC=ON \
185177 -DTRITON_PACKAGE_PERF_ANALYZER=ON \
186178 -DTRITON_ENABLE_GPU=${TRITON_ENABLE_GPU} \
187179 /workspace/perf_analyzer && \
188- make -j16 python-clients && \
180+ cmake --build . -v --parallel --target python-clients && \
189181 mkdir -p /workspace/install/python && \
190182 cp /workspace/perf_analyzer/genai_perf-*.whl /workspace/install/python/; \
191183 fi
@@ -216,26 +208,27 @@ ARG TRITON_ENABLE_GPU
216208
217209RUN apt-get update && \
218210 apt-get install -y --no-install-recommends \
219- software-properties-common \
220211 curl \
212+ default-jdk \
221213 git \
222214 gperf \
223215 libb64-dev \
224216 libgoogle-perftools-dev \
225- libopencv-dev \
226217 libopencv-core-dev \
218+ libopencv-dev \
227219 libssl-dev \
228220 libtool \
221+ maven \
222+ perl \
229223 python3 \
230- python3-pip \
231224 python3-dev \
232- python3-wheel \
225+ python3-pdfkit \
226+ python3-pip \
233227 python3-setuptools \
228+ python3-wheel \
229+ software-properties-common \
234230 vim \
235- wget \
236- python3-pdfkit \
237- maven \
238- default-jdk && \
231+ wget && \
239232 pip3 install "grpcio<1.68" "grpcio-tools<1.68"
240233
241234WORKDIR /workspace
0 commit comments