Skip to content

Commit 76e275b

Browse files
authored
Merge Cuda docker files into a single one (#18020)
### Description <!-- Describe your changes. --> ### Motivation and Context <!-- - Why is this change required? What problem does it solve? - If it fixes an open issue, please link to the issue here. -->
1 parent 6ec45f2 commit 76e275b

12 files changed

+90
-730
lines changed

setup.py

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -192,11 +192,15 @@ def run(self):
192192

193193
cuda_dependencies = [
194194
"libcublas.so.11",
195+
"libcublas.so.12",
195196
"libcublasLt.so.11",
196-
"libcudnn.so.8",
197+
"libcublasLt.so.12",
197198
"libcudart.so.11.0",
198-
"libcurand.so.10",
199+
"libcudart.so.12.0",
200+
"libcudnn.so.8",
199201
"libcufft.so.10",
202+
"libcufft.so.11",
203+
"libcurand.so.10",
200204
]
201205
rocm_dependencies = [
202206
"librccl.so.1",

tools/ci_build/github/azure-pipelines/c-api-noopenmp-packaging-pipelines.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -488,13 +488,13 @@ stages:
488488
Steps:
489489
- script: |
490490
tools/ci_build/get_docker_image.py \
491-
--dockerfile tools/ci_build/github/linux/docker/Dockerfile.manylinux2_28_cuda11_8_tensorrt8_6 \
491+
--dockerfile tools/ci_build/github/linux/docker/Dockerfile.manylinux2_28_cuda \
492492
--context tools/ci_build/github/linux/docker \
493-
--docker-build-args "--network=host --build-arg POLICY=manylinux_2_28 --build-arg PLATFORM=x86_64 --build-arg PREPEND_PATH=/usr/local/cuda/bin --build-arg LD_LIBRARY_PATH_ARG=/usr/local/lib64 --build-arg DEVTOOLSET_ROOTPATH=/usr --build-arg BUILD_UID=$( id -u ) --build-arg BUILD_UID=$( id -u )" \
493+
--docker-build-args "--network=host --build-arg BASEIMAGE=nvidia/cuda:11.8.0-devel-ubi8 --build-arg INSTALL_CUDNN=true --build-arg TRT_VERSION=8.6.1.6-1.cuda11.8 --build-arg BUILD_UID=$( id -u )" \
494494
--container-registry onnxruntimebuildcache \
495495
--multiple_repos \
496496
--repository onnxruntimecuda118xtrt86build
497-
displayName: "Get onnxruntimecuda118xtrt86build image for tools/ci_build/github/linux/docker/Dockerfile.manylinux2_28_cuda11_8_tensorrt8_6"
497+
displayName: "Get onnxruntimecuda118xtrt86build image for tools/ci_build/github/linux/docker/Dockerfile.manylinux2_28_cuda"
498498
workingDirectory: $(Build.SourcesDirectory)/onnxruntime
499499
ContainerRegistry: onnxruntimebuildcache
500500

tools/ci_build/github/azure-pipelines/linux-gpu-ci-pipeline.yml

Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -58,9 +58,15 @@ jobs:
5858

5959
- template: templates/get-docker-image-steps.yml
6060
parameters:
61-
Dockerfile: tools/ci_build/github/linux/docker/Dockerfile.manylinux2_28_cuda11
61+
Dockerfile: tools/ci_build/github/linux/docker/Dockerfile.manylinux2_28_cuda
6262
Context: tools/ci_build/github/linux/docker
63-
DockerBuildArgs: "--network=host --build-arg POLICY=manylinux_2_28 --build-arg PLATFORM=x86_64 --build-arg PREPEND_PATH=/usr/local/cuda/bin --build-arg LD_LIBRARY_PATH_ARG=/usr/local/lib64 --build-arg DEVTOOLSET_ROOTPATH=/usr --build-arg BUILD_UID=$( id -u )"
63+
DockerBuildArgs: "
64+
--network=host
65+
--build-arg BASEIMAGE=nvidia/cuda:11.8.0-devel-ubi8
66+
--build-arg TRT_VERSION=8.6.1.6-1.cuda11.8
67+
--build-arg INSTALL_CUDNN=true
68+
--build-arg BUILD_UID=$( id -u )
69+
"
6470
Repository: onnxruntimecuda11build
6571

6672
- task: Cache@2
@@ -154,9 +160,15 @@ jobs:
154160

155161
- template: templates/get-docker-image-steps.yml
156162
parameters:
157-
Dockerfile: tools/ci_build/github/linux/docker/Dockerfile.manylinux2_28_cuda11
163+
Dockerfile: tools/ci_build/github/linux/docker/Dockerfile.manylinux2_28_cuda
158164
Context: tools/ci_build/github/linux/docker
159-
DockerBuildArgs: "--network=host --build-arg POLICY=manylinux_2_28 --build-arg PLATFORM=x86_64 --build-arg PREPEND_PATH=/usr/local/cuda/bin --build-arg LD_LIBRARY_PATH_ARG=/usr/local/lib64 --build-arg DEVTOOLSET_ROOTPATH=/usr --build-arg BUILD_UID=$( id -u )"
165+
DockerBuildArgs: "
166+
--network=host
167+
--build-arg BASEIMAGE=nvidia/cuda:11.8.0-cudnn8-devel-ubi8
168+
--build-arg TRT_VERSION=8.6.1.6-1.cuda11.8
169+
--build-arg INSTALL_CUDNN=true
170+
--build-arg BUILD_UID=$( id -u )
171+
"
160172
Repository: onnxruntimecuda11build
161173

162174
- task: CmdLine@2

tools/ci_build/github/azure-pipelines/linux-gpu-tensorrt-ci-pipeline.yml

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -57,9 +57,15 @@ jobs:
5757

5858
- template: templates/get-docker-image-steps.yml
5959
parameters:
60-
Dockerfile: tools/ci_build/github/linux/docker/Dockerfile.manylinux2_28_cuda11_8_tensorrt8_6
60+
Dockerfile: tools/ci_build/github/linux/docker/Dockerfile.manylinux2_28_cuda
6161
Context: tools/ci_build/github/linux/docker
62-
DockerBuildArgs: "--network=host --build-arg POLICY=manylinux_2_28 --build-arg PLATFORM=x86_64 --build-arg PREPEND_PATH=/usr/local/cuda/bin --build-arg LD_LIBRARY_PATH_ARG=/usr/local/lib64 --build-arg DEVTOOLSET_ROOTPATH=/usr --build-arg BUILD_UID=$( id -u )"
62+
DockerBuildArgs: "
63+
--network=host
64+
--build-arg BASEIMAGE=nvidia/cuda:11.8.0-cudnn8-devel-ubi8
65+
--build-arg TRT_VERSION=8.6.1.6-1.cuda11.8
66+
--build-arg INSTALL_CUDNN=true
67+
--build-arg BUILD_UID=$( id -u )
68+
"
6369
Repository: onnxruntimetensorrt86gpubuild
6470

6571
- template: templates/linux-build-step-with-cache.yml

tools/ci_build/github/azure-pipelines/templates/linux-gpu-tensorrt-packaging-pipeline.yml

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -44,9 +44,15 @@ stages:
4444
submodules: recursive
4545
- template: get-docker-image-steps.yml
4646
parameters:
47-
Dockerfile: tools/ci_build/github/linux/docker/Dockerfile.manylinux2_28_cuda11_8_tensorrt8_6
47+
Dockerfile: tools/ci_build/github/linux/docker/Dockerfile.manylinux2_28_cuda
4848
Context: tools/ci_build/github/linux/docker
49-
DockerBuildArgs: "--build-arg POLICY=manylinux_2_28 --build-arg PLATFORM=x86_64 --build-arg PREPEND_PATH=/usr/local/cuda/bin --build-arg LD_LIBRARY_PATH_ARG=/usr/local/lib64 --build-arg DEVTOOLSET_ROOTPATH=/usr --build-arg BUILD_UID=$( id -u )"
49+
DockerBuildArgs: "
50+
--network=host
51+
--build-arg BASEIMAGE=nvidia/cuda:11.8.0-devel-ubi8
52+
--build-arg TRT_VERSION=8.6.1.6-1.cuda11.8
53+
--build-arg INSTALL_CUDNN=true
54+
--build-arg BUILD_UID=$( id -u )
55+
"
5056
Repository: onnxruntimecuda118xtrt86build
5157
- template: set-version-number-variables-step.yml
5258

tools/ci_build/github/azure-pipelines/templates/py-linux-gpu.yml

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,9 +36,16 @@ jobs:
3636

3737
- template: get-docker-image-steps.yml
3838
parameters:
39-
Dockerfile: tools/ci_build/github/linux/docker/Dockerfile.manylinux2_28_cuda11_8_tensorrt8_6
39+
Dockerfile: tools/ci_build/github/linux/docker/Dockerfile.manylinux2_28_cuda
4040
Context: tools/ci_build/github/linux/docker
41-
DockerBuildArgs: "--network=host --build-arg POLICY=manylinux_2_28 --build-arg PLATFORM=x86_64 --build-arg PREPEND_PATH=/usr/local/cuda/bin --build-arg LD_LIBRARY_PATH_ARG=/usr/local/lib64 --build-arg DEVTOOLSET_ROOTPATH=/usr --build-arg BUILD_UID=$( id -u ) --build-arg PLATFORM=${{ parameters.arch }}"
41+
DockerBuildArgs: "
42+
--network=host
43+
--build-arg BASEIMAGE=nvidia/cuda:11.8.0-devel-ubi8
44+
--build-arg TRT_VERSION=8.6.1.6-1.cuda11.8
45+
--build-arg INSTALL_CUDNN=true
46+
--build-arg BUILD_UID=$( id -u )
47+
--build-arg PLATFORM=${{ parameters.arch }}
48+
"
4249
Repository: onnxruntimecuda118xtrt86build${{ parameters.arch }}
4350

4451

tools/ci_build/github/azure-pipelines/templates/py-packaging-linux-test-cuda.yml

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -81,9 +81,16 @@ jobs:
8181

8282
- template: get-docker-image-steps.yml
8383
parameters:
84-
Dockerfile: tools/ci_build/github/linux/docker/Dockerfile.manylinux2_28_cuda11_8_tensorrt8_6
84+
Dockerfile: tools/ci_build/github/linux/docker/Dockerfile.manylinux2_28_cuda
8585
Context: tools/ci_build/github/linux/docker
86-
DockerBuildArgs: "--network=host --build-arg POLICY=manylinux_2_28 --build-arg PLATFORM=x86_64 --build-arg PREPEND_PATH=/usr/local/cuda/bin --build-arg LD_LIBRARY_PATH_ARG=/usr/local/lib64 --build-arg DEVTOOLSET_ROOTPATH=/usr --build-arg BUILD_UID=$( id -u ) --build-arg PLATFORM=${{ parameters.arch }}"
86+
DockerBuildArgs: "
87+
--network=host
88+
--build-arg BASEIMAGE=nvidia/cuda:11.8.0-devel-ubi8
89+
--build-arg TRT_VERSION=8.6.1.6-1.cuda11.8
90+
--build-arg INSTALL_CUDNN=true
91+
--build-arg BUILD_UID=$( id -u )
92+
--build-arg PLATFORM=${{ parameters.arch }}
93+
"
8794
Repository: onnxruntimecuda118xtrt86build${{ parameters.arch }}
8895

8996
- task: Bash@3

tools/ci_build/github/linux/docker/Dockerfile.manylinux2_28_cuda

Lines changed: 31 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,10 @@
55
ARG POLICY=manylinux_2_28
66
ARG PLATFORM=x86_64
77
ARG BASEIMAGE=nvidia/cuda:12.2.0-devel-ubi8
8-
ARG TRT_VERSION=8.6.1.6-1.cuda12.0
98
ARG DEVTOOLSET_ROOTPATH=/usr
109
ARG LD_LIBRARY_PATH_ARG=/usr/local/lib64
1110
ARG PREPEND_PATH=/usr/local/cuda/binet
12-
11+
ARG INSTALL_CUDNN=false
1312

1413
#Build manylinux docker image begin
1514
FROM $BASEIMAGE AS runtime_base
@@ -118,7 +117,7 @@ RUN manylinux-entrypoint /build_scripts/build-cpython.sh 3.10.5
118117

119118
FROM build_cpython AS build_cpython311
120119
COPY build_scripts/cpython-pubkey-310-311.txt /build_scripts/cpython-pubkeys.txt
121-
RUN manylinux-entrypoint /build_scripts/build-cpython.sh 3.11.0b5
120+
RUN manylinux-entrypoint /build_scripts/build-cpython.sh 3.11.2
122121

123122
FROM build_cpython AS all_python
124123
COPY build_scripts/install-pypy.sh \
@@ -155,23 +154,35 @@ CMD ["/bin/bash"]
155154

156155
#Build manylinux docker image end
157156

158-
#Install TensorRT 8.6.1.6
159-
RUN CUDA_VERSION=$(nvcc --version | sed -n 's/^.*release \([0-9]\+\.[0-9]\+\).*$/\1/p') &&\
160-
dnf -y install\
161-
libcudnn8-devel-*cuda${CUDA_VERSION}*\
162-
libcudnn8-*cuda${CUDA_VERSION}*\
163-
libnvinfer8-${TRT_VERSION}\
164-
libnvparsers8-${TRT_VERSION}\
165-
libnvonnxparsers8-${TRT_VERSION}\
166-
libnvinfer-plugin8-${TRT_VERSION}\
167-
libnvinfer-vc-plugin8-${TRT_VERSION}\
168-
libnvinfer-devel-${TRT_VERSION}\
169-
libnvparsers-devel-${TRT_VERSION}\
170-
libnvonnxparsers-devel-${TRT_VERSION}\
171-
libnvinfer-plugin-devel-${TRT_VERSION}\
172-
libnvinfer-vc-plugin-devel-${TRT_VERSION}\
173-
libnvinfer-headers-devel-${TRT_VERSION}\
174-
libnvinfer-headers-plugin-devel-${TRT_VERSION}
157+
158+
#Install optinal Cudnn
159+
RUN if [ "$INSTALL_CUDNN" = true ]; then \
160+
CUDA_VERSION=$(nvcc --version | sed -n 's/^.*release \([0-9]\+\.[0-9]\+\).*$/\1/p') && \
161+
dnf -y install \
162+
libcudnn8-devel-*cuda${CUDA_VERSION}* \
163+
libcudnn8-*cuda${CUDA_VERSION}* ; \
164+
fi
165+
166+
#Install TensorRT only if TRT_VERSION is not empty
167+
RUN if [ -n "$TRT_VERSION" ]; then \
168+
echo "TRT_VERSION is $TRT_VERSION" && \
169+
dnf -y install \
170+
libnvinfer8-${TRT_VERSION} \
171+
libnvparsers8-${TRT_VERSION} \
172+
libnvonnxparsers8-${TRT_VERSION} \
173+
libnvinfer-plugin8-${TRT_VERSION} \
174+
libnvinfer-vc-plugin8-${TRT_VERSION} \
175+
libnvinfer-devel-${TRT_VERSION} \
176+
libnvparsers-devel-${TRT_VERSION} \
177+
libnvonnxparsers-devel-${TRT_VERSION} \
178+
libnvinfer-plugin-devel-${TRT_VERSION} \
179+
libnvinfer-vc-plugin-devel-${TRT_VERSION} \
180+
libnvinfer-headers-devel-${TRT_VERSION} \
181+
libnvinfer-headers-plugin-devel-${TRT_VERSION}; \
182+
else \
183+
echo "TRT_VERSION is none skipping Tensor RT Installation" ; \
184+
fi
185+
175186
ENV JAVA_HOME=/usr/lib/jvm/msopenjdk-11
176187
#Add our own dependencies
177188
ADD scripts /tmp/scripts

tools/ci_build/github/linux/docker/Dockerfile.manylinux2_28_cuda11

Lines changed: 0 additions & 166 deletions
This file was deleted.

0 commit comments

Comments
 (0)