Skip to content

Commit 05d6ed5

Browse files
authored
RHOAIENG-28654: allow using CUDA rpm repos for amd64 and arm64 (opendatahub-io#1320)
This is not everything needed to build all of the cuda images, but it's a necessary step, and the intention is for each achievable part to be easily reviewable. The pattern here is adapted from the NVidia Dockerfiles found at https://gitlab.com/nvidia/container-images/cuda/-/tree/master/dist/12.6.3/ubi9 - NVARCH is set to sbsa on arm64 - cuda-nvprof is only installed for amd64 (no build available for arm64 even) - Removed cuda/rhel9-python-3.11/ dir, since it appeared to just contain duplicate files from cuda/ * Rename mssql repo file * Don't hardcode amd64 in buildinputs tool
1 parent b1d3f55 commit 05d6ed5

File tree

26 files changed

+179
-310
lines changed

26 files changed

+179
-310
lines changed

ci/cached-builds/gen_gha_matrix_jobs.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,8 @@
2424
ARM64_COMPATIBLE = {
2525
"codeserver-ubi9-python-3.11",
2626
"codeserver-ubi9-python-3.12",
27+
"cuda-jupyter-minimal-ubi9-python-3.11",
28+
"cuda-jupyter-minimal-ubi9-python-3.12",
2729
}
2830

2931
S390X_COMPATIBLE = {
File renamed without changes.
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[cuda]
2-
name=cuda
3-
baseurl=https://developer.download.nvidia.com/compute/cuda/repos/rhel9/x86_64
2+
name=cuda-sbsa
3+
baseurl=https://developer.download.nvidia.com/compute/cuda/repos/rhel9/sbsa
44
enabled=1
55
gpgcheck=1
66
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-NVIDIA

cuda/rhel9-python-3.11/NGC-DL-CONTAINER-LICENSE

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

jupyter/datascience/ubi9-python-3.11/Dockerfile.cpu

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,7 @@ RUN dnf install -y jq unixODBC postgresql git-lfs libsndfile && dnf clean all &&
9191
COPY --from=mongocli-builder /tmp/mongocli /opt/app-root/bin/
9292

9393
# Install MSSQL Client, We need a special repo for MSSQL as they do their own distribution
94-
COPY ${DATASCIENCE_SOURCE_CODE}/mssql-2022.repo-x86_64 /etc/yum.repos.d/mssql-2022.repo
94+
COPY ${DATASCIENCE_SOURCE_CODE}/mssql-2022.repo /etc/yum.repos.d/mssql-2022.repo
9595

9696
RUN ACCEPT_EULA=Y dnf install -y mssql-tools18 unixODBC-devel && dnf clean all && rm -rf /var/cache/yum
9797

jupyter/datascience/ubi9-python-3.12/Dockerfile.cpu

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,7 @@ RUN dnf install -y jq unixODBC postgresql git-lfs libsndfile && dnf clean all &&
9191
COPY --from=mongocli-builder /tmp/mongocli /opt/app-root/bin/
9292

9393
# Install MSSQL Client, We need a special repo for MSSQL as they do their own distribution
94-
COPY ${DATASCIENCE_SOURCE_CODE}/mssql-2022.repo-x86_64 /etc/yum.repos.d/mssql-2022.repo
94+
COPY ${DATASCIENCE_SOURCE_CODE}/mssql-2022.repo /etc/yum.repos.d/mssql-2022.repo
9595

9696
RUN ACCEPT_EULA=Y dnf install -y mssql-tools18 unixODBC-devel && dnf clean all && rm -rf /var/cache/yum
9797

jupyter/minimal/ubi9-python-3.11/Dockerfile.cuda

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,18 @@ RUN curl -L https://mirror.openshift.com/pub/openshift-v4/$(uname -m)/clients/oc
2626
####################
2727
# cuda-base #
2828
####################
29-
FROM base AS cuda-base
29+
FROM base AS cuda-base-amd64
30+
ENV NVARCH=x86_64
31+
# cuda-nvprof only gets installed on amd64 currently
32+
ENV NV_NVPROF_VERSION=12.6.80-1
33+
ENV NV_NVPROF_DEV_PACKAGE=cuda-nvprof-12-6-${NV_NVPROF_VERSION}
34+
35+
FROM base AS cuda-base-arm64
36+
ENV NVARCH=sbsa
37+
38+
FROM cuda-base-${TARGETARCH} AS cuda-base
39+
40+
ARG TARGETARCH
3041

3142
ARG CUDA_SOURCE_CODE=cuda
3243

@@ -35,11 +46,10 @@ ARG CUDA_SOURCE_CODE=cuda
3546
USER 0
3647
WORKDIR /opt/app-root/bin
3748

38-
ENV NVARCH=x86_64
3949
ENV NVIDIA_REQUIRE_CUDA="cuda>=12.6 brand=unknown,driver>=470,driver<471 brand=grid,driver>=470,driver<471 brand=tesla,driver>=470,driver<471 brand=nvidia,driver>=470,driver<471 brand=quadro,driver>=470,driver<471 brand=quadrortx,driver>=470,driver<471 brand=nvidiartx,driver>=470,driver<471 brand=vapps,driver>=470,driver<471 brand=vpc,driver>=470,driver<471 brand=vcs,driver>=470,driver<471 brand=vws,driver>=470,driver<471 brand=cloudgaming,driver>=470,driver<471 brand=unknown,driver>=535,driver<536 brand=grid,driver>=535,driver<536 brand=tesla,driver>=535,driver<536 brand=nvidia,driver>=535,driver<536 brand=quadro,driver>=535,driver<536 brand=quadrortx,driver>=535,driver<536 brand=nvidiartx,driver>=535,driver<536 brand=vapps,driver>=535,driver<536 brand=vpc,driver>=535,driver<536 brand=vcs,driver>=535,driver<536 brand=vws,driver>=535,driver<536 brand=cloudgaming,driver>=535,driver<536 brand=unknown,driver>=550,driver<551 brand=grid,driver>=550,driver<551 brand=tesla,driver>=550,driver<551 brand=nvidia,driver>=550,driver<551 brand=quadro,driver>=550,driver<551 brand=quadrortx,driver>=550,driver<551 brand=nvidiartx,driver>=550,driver<551 brand=vapps,driver>=550,driver<551 brand=vpc,driver>=550,driver<551 brand=vcs,driver>=550,driver<551 brand=vws,driver>=550,driver<551 brand=cloudgaming,driver>=550,driver<551"
4050
ENV NV_CUDA_CUDART_VERSION=12.6.77-1
4151

42-
COPY ${CUDA_SOURCE_CODE}/cuda.repo-x86_64 /etc/yum.repos.d/cuda.repo
52+
COPY ${CUDA_SOURCE_CODE}/cuda.repo-${TARGETARCH} /etc/yum.repos.d/cuda.repo
4353
COPY ${CUDA_SOURCE_CODE}/NGC-DL-CONTAINER-LICENSE /
4454

4555
RUN NVIDIA_GPGKEY_SUM=d0664fbbdb8c32356d45de36c5984617217b2d0bef41b93ccecd326ba3b80c87 && \
@@ -90,8 +100,6 @@ RUN yum install -y \
90100

91101
# Install CUDA devel from:
92102
# https://gitlab.com/nvidia/container-images/cuda/-/blob/master/dist/12.6.3/ubi9/devel/Dockerfile
93-
ENV NV_NVPROF_VERSION=12.6.80-1
94-
ENV NV_NVPROF_DEV_PACKAGE=cuda-nvprof-12-6-${NV_NVPROF_VERSION}
95103
ENV NV_CUDA_CUDART_DEV_VERSION=12.6.77-1
96104
ENV NV_NVML_DEV_VERSION=12.6.77-1
97105
ENV NV_LIBCUBLAS_DEV_VERSION=12.6.4.1-1

jupyter/minimal/ubi9-python-3.12/Dockerfile.cuda

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,18 @@ RUN curl -L https://mirror.openshift.com/pub/openshift-v4/$(uname -m)/clients/oc
2626
####################
2727
# cuda-base #
2828
####################
29-
FROM base AS cuda-base
29+
FROM base AS cuda-base-amd64
30+
ENV NVARCH=x86_64
31+
# cuda-nvprof only gets installed on amd64 currently
32+
ENV NV_NVPROF_VERSION=12.6.80-1
33+
ENV NV_NVPROF_DEV_PACKAGE=cuda-nvprof-12-6-${NV_NVPROF_VERSION}
34+
35+
FROM base AS cuda-base-arm64
36+
ENV NVARCH=sbsa
37+
38+
FROM cuda-base-${TARGETARCH} AS cuda-base
39+
40+
ARG TARGETARCH
3041

3142
ARG CUDA_SOURCE_CODE=cuda
3243

@@ -35,11 +46,10 @@ ARG CUDA_SOURCE_CODE=cuda
3546
USER 0
3647
WORKDIR /opt/app-root/bin
3748

38-
ENV NVARCH=x86_64
3949
ENV NVIDIA_REQUIRE_CUDA="cuda>=12.6 brand=unknown,driver>=470,driver<471 brand=grid,driver>=470,driver<471 brand=tesla,driver>=470,driver<471 brand=nvidia,driver>=470,driver<471 brand=quadro,driver>=470,driver<471 brand=quadrortx,driver>=470,driver<471 brand=nvidiartx,driver>=470,driver<471 brand=vapps,driver>=470,driver<471 brand=vpc,driver>=470,driver<471 brand=vcs,driver>=470,driver<471 brand=vws,driver>=470,driver<471 brand=cloudgaming,driver>=470,driver<471 brand=unknown,driver>=535,driver<536 brand=grid,driver>=535,driver<536 brand=tesla,driver>=535,driver<536 brand=nvidia,driver>=535,driver<536 brand=quadro,driver>=535,driver<536 brand=quadrortx,driver>=535,driver<536 brand=nvidiartx,driver>=535,driver<536 brand=vapps,driver>=535,driver<536 brand=vpc,driver>=535,driver<536 brand=vcs,driver>=535,driver<536 brand=vws,driver>=535,driver<536 brand=cloudgaming,driver>=535,driver<536 brand=unknown,driver>=550,driver<551 brand=grid,driver>=550,driver<551 brand=tesla,driver>=550,driver<551 brand=nvidia,driver>=550,driver<551 brand=quadro,driver>=550,driver<551 brand=quadrortx,driver>=550,driver<551 brand=nvidiartx,driver>=550,driver<551 brand=vapps,driver>=550,driver<551 brand=vpc,driver>=550,driver<551 brand=vcs,driver>=550,driver<551 brand=vws,driver>=550,driver<551 brand=cloudgaming,driver>=550,driver<551"
4050
ENV NV_CUDA_CUDART_VERSION=12.6.77-1
4151

42-
COPY ${CUDA_SOURCE_CODE}/cuda.repo-x86_64 /etc/yum.repos.d/cuda.repo
52+
COPY ${CUDA_SOURCE_CODE}/cuda.repo-${TARGETARCH} /etc/yum.repos.d/cuda.repo
4353
COPY ${CUDA_SOURCE_CODE}/NGC-DL-CONTAINER-LICENSE /
4454

4555
RUN NVIDIA_GPGKEY_SUM=d0664fbbdb8c32356d45de36c5984617217b2d0bef41b93ccecd326ba3b80c87 && \
@@ -90,8 +100,6 @@ RUN yum install -y \
90100

91101
# Install CUDA devel from:
92102
# https://gitlab.com/nvidia/container-images/cuda/-/blob/master/dist/12.6.3/ubi9/devel/Dockerfile
93-
ENV NV_NVPROF_VERSION=12.6.80-1
94-
ENV NV_NVPROF_DEV_PACKAGE=cuda-nvprof-12-6-${NV_NVPROF_VERSION}
95103
ENV NV_CUDA_CUDART_DEV_VERSION=12.6.77-1
96104
ENV NV_NVML_DEV_VERSION=12.6.77-1
97105
ENV NV_LIBCUBLAS_DEV_VERSION=12.6.4.1-1

0 commit comments

Comments
 (0)