Skip to content

Commit 19c9704

Browse files
Restore cu128 Ray image alongside new cu129
Keep the existing 2.55.1-py312-cu128 image and Tekton pipeline unchanged, adding the cu129 Training Hub variant as a separate image rather than replacing cu128. Co-authored-by: Cursor <cursoragent@cursor.com>
1 parent 3171138 commit 19c9704

8 files changed

Lines changed: 4020 additions & 0 deletions

File tree

.tekton/ray-2.55.1-py312-cu128-push.yaml

Lines changed: 514 additions & 0 deletions
Large diffs are not rendered by default.
Lines changed: 146 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,146 @@
1+
ARG PYTHON_VERSION=312
2+
ARG IMAGE_TAG=9.7-1778488949
3+
4+
FROM registry.access.redhat.com/ubi9/python-${PYTHON_VERSION}:${IMAGE_TAG}
5+
6+
ARG TARGETARCH
7+
8+
LABEL name="ray-ubi9-py312-cu128" \
9+
summary="CUDA 12.8 Python 3.12 image based on UBI9 for Ray" \
10+
description="CUDA 12.8 Python 3.12 image based on UBI9 for Ray" \
11+
io.k8s.display-name="CUDA 12.8 Python 3.12 base image for Ray" \
12+
io.k8s.description="CUDA 12.8 Python 3.12 image based on UBI9 for Ray" \
13+
authoritative-source-url="https://github.com/opendatahub-io/distributed-workloads"
14+
15+
# Install CUDA base from:
16+
# https://gitlab.com/nvidia/container-images/cuda/-/blob/master/dist/12.8.0/ubi9/base/Dockerfile
17+
USER 0
18+
WORKDIR /opt/app-root/bin
19+
20+
ENV NVIDIA_REQUIRE_CUDA="cuda>=12.8 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 brand=unknown,driver>=560,driver<561 brand=grid,driver>=560,driver<561 brand=tesla,driver>=560,driver<561 brand=nvidia,driver>=560,driver<561 brand=quadro,driver>=560,driver<561 brand=quadrortx,driver>=560,driver<561 brand=nvidiartx,driver>=560,driver<561 brand=vapps,driver>=560,driver<561 brand=vpc,driver>=560,driver<561 brand=vcs,driver>=560,driver<561 brand=vws,driver>=560,driver<561 brand=cloudgaming,driver>=560,driver<561 brand=unknown,driver>=565,driver<566 brand=grid,driver>=565,driver<566 brand=tesla,driver>=565,driver<566 brand=nvidia,driver>=565,driver<566 brand=quadro,driver>=565,driver<566 brand=quadrortx,driver>=565,driver<566 brand=nvidiartx,driver>=565,driver<566 brand=vapps,driver>=565,driver<566 brand=vpc,driver>=565,driver<566 brand=vcs,driver>=565,driver<566 brand=vws,driver>=565,driver<566 brand=cloudgaming,driver>=565,driver<566"
21+
ENV NV_CUDA_CUDART_VERSION=12.8.57-1
22+
23+
RUN NVIDIA_GPGKEY_SUM=d0664fbbdb8c32356d45de36c5984617217b2d0bef41b93ccecd326ba3b80c87 && \
24+
if [ "${TARGETARCH}" = "arm64" ]; then NVARCH=sbsa; else NVARCH=x86_64; fi && \
25+
curl -fsSL https://developer.download.nvidia.com/compute/cuda/repos/rhel9/${NVARCH}/D42D0685.pub | sed '/^Version/d' > /etc/pki/rpm-gpg/RPM-GPG-KEY-NVIDIA && \
26+
echo "$NVIDIA_GPGKEY_SUM /etc/pki/rpm-gpg/RPM-GPG-KEY-NVIDIA" | sha256sum -c --strict -
27+
28+
ENV CUDA_VERSION=12.8.0
29+
30+
COPY cuda.repo-* ./
31+
COPY NGC-DL-CONTAINER-LICENSE /
32+
33+
RUN if [ "${TARGETARCH}" = "arm64" ]; then \
34+
cp cuda.repo-arm64 /etc/yum.repos.d/cuda.repo; \
35+
else \
36+
cp cuda.repo-x86_64 /etc/yum.repos.d/cuda.repo; \
37+
fi
38+
39+
# For libraries in the cuda-compat-* package: https://docs.nvidia.com/cuda/eula/index.html#attachment-a
40+
RUN yum upgrade -y && yum install -y \
41+
cuda-cudart-12-8-${NV_CUDA_CUDART_VERSION} \
42+
cuda-compat-12-8 \
43+
&& yum clean all \
44+
&& rm -rf /var/cache/yum/*
45+
46+
# nvidia-docker 1.0
47+
RUN echo "/usr/local/nvidia/lib" >> /etc/ld.so.conf.d/nvidia.conf && \
48+
echo "/usr/local/nvidia/lib64" >> /etc/ld.so.conf.d/nvidia.conf
49+
50+
ENV PATH=/usr/local/nvidia/bin:/usr/local/cuda/bin:${PATH}
51+
ENV LD_LIBRARY_PATH=/usr/local/nvidia/lib:/usr/local/nvidia/lib64
52+
53+
# nvidia-container-runtime
54+
ENV NVIDIA_VISIBLE_DEVICES=all
55+
ENV NVIDIA_DRIVER_CAPABILITIES=compute,utility
56+
57+
# Install CUDA runtime from:
58+
# https://gitlab.com/nvidia/container-images/cuda/-/blob/master/dist/12.8.0/ubi9/runtime/Dockerfile
59+
ENV NV_CUDA_LIB_VERSION=12.8.0-1
60+
ENV NV_NVTX_VERSION=12.8.55-1
61+
ENV NV_LIBNPP_VERSION=12.3.3.65-1
62+
ENV NV_LIBNPP_PACKAGE=libnpp-12-8-${NV_LIBNPP_VERSION}
63+
ENV NV_LIBCUBLAS_VERSION=12.8.3.14-1
64+
ENV NV_LIBNCCL_PACKAGE_NAME=libnccl
65+
ENV NV_LIBNCCL_PACKAGE_VERSION=2.25.1-1
66+
ENV NV_LIBNCCL_VERSION=2.25.1
67+
ENV NCCL_VERSION=2.25.1
68+
ENV NV_LIBNCCL_PACKAGE=${NV_LIBNCCL_PACKAGE_NAME}-${NV_LIBNCCL_PACKAGE_VERSION}+cuda12.8
69+
70+
RUN yum install -y \
71+
cuda-libraries-12-8-${NV_CUDA_LIB_VERSION} \
72+
cuda-nvtx-12-8-${NV_NVTX_VERSION} \
73+
${NV_LIBNPP_PACKAGE} \
74+
libcublas-12-8-${NV_LIBCUBLAS_VERSION} \
75+
${NV_LIBNCCL_PACKAGE} \
76+
&& yum clean all \
77+
&& rm -rf /var/cache/yum/*
78+
79+
# Set this flag so that libraries can find the location of CUDA
80+
ENV XLA_FLAGS=--xla_gpu_cuda_data_dir=/usr/local/cuda
81+
82+
# Install CUDA devel from:
83+
# https://gitlab.com/nvidia/container-images/cuda/-/blob/master/dist/12.8.0/ubi9/devel/Dockerfile
84+
ENV NV_CUDA_LIB_VERSION=12.8.0-1
85+
# ARM64 doesn't have nvprof package - set in runtime
86+
ENV NV_NVPROF_VERSION=12.8.57-1
87+
ENV NV_NVPROF_DEV_PACKAGE=cuda-nvprof-12-8-${NV_NVPROF_VERSION}
88+
ENV NV_CUDA_CUDART_DEV_VERSION=12.8.57-1
89+
ENV NV_NVML_DEV_VERSION=12.8.55-1
90+
ENV NV_LIBCUBLAS_DEV_VERSION=12.8.3.14-1
91+
ENV NV_LIBNPP_DEV_VERSION=12.3.3.65-1
92+
ENV NV_LIBNPP_DEV_PACKAGE=libnpp-devel-12-8-${NV_LIBNPP_DEV_VERSION}
93+
ENV NV_LIBNCCL_DEV_PACKAGE_NAME=libnccl-devel
94+
ENV NV_LIBNCCL_DEV_PACKAGE_VERSION=2.25.1-1
95+
ENV NCCL_VERSION=2.25.1
96+
ENV NV_LIBNCCL_DEV_PACKAGE=${NV_LIBNCCL_DEV_PACKAGE_NAME}-${NV_LIBNCCL_DEV_PACKAGE_VERSION}+cuda12.8
97+
ENV NV_CUDA_NSIGHT_COMPUTE_VERSION=12.8.0-1
98+
ENV NV_CUDA_NSIGHT_COMPUTE_DEV_PACKAGE=cuda-nsight-compute-12-8-${NV_CUDA_NSIGHT_COMPUTE_VERSION}
99+
100+
RUN yum install -y \
101+
make \
102+
findutils \
103+
cuda-command-line-tools-12-8-${NV_CUDA_LIB_VERSION} \
104+
cuda-libraries-devel-12-8-${NV_CUDA_LIB_VERSION} \
105+
cuda-minimal-build-12-8-${NV_CUDA_LIB_VERSION} \
106+
cuda-cudart-devel-12-8-${NV_CUDA_CUDART_DEV_VERSION} \
107+
cuda-nvml-devel-12-8-${NV_NVML_DEV_VERSION} \
108+
libcublas-devel-12-8-${NV_LIBCUBLAS_DEV_VERSION} \
109+
${NV_LIBNPP_DEV_PACKAGE} \
110+
${NV_LIBNCCL_DEV_PACKAGE} \
111+
${NV_CUDA_NSIGHT_COMPUTE_DEV_PACKAGE} \
112+
&& if [ "${TARGETARCH}" != "arm64" ]; then \
113+
yum install -y ${NV_NVPROF_DEV_PACKAGE}; \
114+
fi \
115+
&& yum clean all \
116+
&& rm -rf /var/cache/yum/*
117+
118+
ENV LIBRARY_PATH=/usr/local/cuda/lib64/stubs
119+
120+
# Install CUDA devel cudnn from:
121+
# https://gitlab.com/nvidia/container-images/cuda/-/blob/master/dist/12.8.0/ubi9/devel/cudnn/Dockerfile
122+
ENV NV_CUDNN_VERSION=9.7.0.66-1
123+
ENV NV_CUDNN_PACKAGE=libcudnn9-cuda-12-${NV_CUDNN_VERSION}
124+
ENV NV_CUDNN_PACKAGE_DEV=libcudnn9-devel-cuda-12-${NV_CUDNN_VERSION}
125+
126+
LABEL com.nvidia.cudnn.version="${NV_CUDNN_VERSION}"
127+
128+
RUN yum install -y \
129+
${NV_CUDNN_PACKAGE} \
130+
${NV_CUDNN_PACKAGE_DEV} \
131+
&& yum clean all \
132+
&& rm -rf /var/cache/yum/*
133+
134+
# Install Python packages
135+
136+
# Install micropipenv to deploy packages from Pipfile.lock
137+
RUN pip install --no-cache-dir -U "micropipenv[toml]"
138+
139+
# Install Python dependencies from Pipfile.lock file
140+
COPY Pipfile.lock ./
141+
142+
RUN micropipenv install && rm -f ./Pipfile.lock
143+
144+
# Restore user workspace
145+
USER 1001
146+
WORKDIR /opt/app-root/src

0 commit comments

Comments
 (0)