@@ -49,28 +49,30 @@ RUN dnf install -y \
49
49
lsof \
50
50
python3-devel \
51
51
openssh-clients \
52
- openssl-1:3.0.7-27.el9 \
53
- openssl-devel-1:3.0.7-27.el9 \
52
+ openssl-1:3.0.7-28.el9_4 \
53
+ openssl-devel-1:3.0.7-28.el9_4 \
54
54
libjpeg-devel \
55
55
openssh-server \
56
56
lsb_release \
57
57
wget \
58
58
git \
59
59
libffi-devel \
60
+ bzip2 \
60
61
bzip2-devel \
61
62
zlib-devel \
62
63
mesa-libGL \
63
64
iproute \
64
65
python3.11 \
65
66
python3.11-pip \
66
67
python3.11-devel \
68
+ python3.11-rpm \
67
69
ffmpeg-free \
68
- perl-Net-SSLeay-1.92-2.el9 \
69
70
python3-dnf-plugin-versionlock && \
70
71
# update pkgs (except OS version) for resolving potentials CVEs
71
- dnf versionlock add redhat-release* openssl* perl-Net-SSLeay && \
72
+ dnf versionlock add redhat-release* openssl* libcurl-minimal curl-minimal ima-evm-utils python3-rpm rpm* && \
72
73
dnf update -y && \
73
- dnf clean all && rm -rf /var/cache/yum
74
+ dnf clean all && rm -rf /var/cache/yum && \
75
+ rm -f /etc/ssh/ssh_host_*_key*
74
76
75
77
RUN mkdir -p /licenses && \
76
78
wget -O /licenses/LICENSE https://raw.githubusercontent.com/intel/ai-containers/main/LICENSE
@@ -85,15 +87,17 @@ RUN alternatives --install /usr/bin/python3 python3 /usr/bin/python3.11 2 && \
85
87
COPY install_efa.sh .
86
88
RUN ./install_efa.sh && rm install_efa.sh && rm -rf /etc/ld.so.conf.d/efa.conf /etc/profile.d/efa.sh
87
89
88
- ENV LIBFABRIC_VERSION="1.20.0"
90
+ ENV OPENMPI_VERSION=4.1.6
91
+ ENV LIBFABRIC_VERSION="1.22.0"
89
92
ENV LIBFABRIC_ROOT="/opt/habanalabs/libfabric-${LIBFABRIC_VERSION}"
90
- ENV MPI_ROOT=/opt/amazon /openmpi
93
+ ENV MPI_ROOT=/opt/habanalabs /openmpi
91
94
ENV LD_LIBRARY_PATH=$LIBFABRIC_ROOT/lib:${MPI_ROOT}/lib:/usr/lib/habanalabs:$LD_LIBRARY_PATH
92
95
ENV PATH=${LIBFABRIC_ROOT}/bin:${MPI_ROOT}/bin:$PATH
93
96
ENV OPAL_PREFIX=${MPI_ROOT}
94
97
ENV MPICC=${MPI_ROOT}/bin/mpicc
95
98
ENV RDMAV_FORK_SAFE=1
96
- ENV FI_EFA_USE_DEVICE_RDMA=1
99
+ ENV FI_EFA_USE_DEVICE_RDMA=0
100
+ ENV OMPI_MCA_btl=^openib
97
101
98
102
RUN echo "[habanalabs]" > /etc/yum.repos.d/habanalabs.repo && \
99
103
echo "name=Habana RH9 Linux repo" >> /etc/yum.repos.d/habanalabs.repo && \
@@ -125,6 +129,12 @@ RUN wget -nv -O /tmp/libfabric-${LIBFABRIC_VERSION}.tar.bz2 https://github.com/o
125
129
./configure --prefix=$LIBFABRIC_ROOT --enable-psm3-verbs --enable-verbs=yes --with-synapseai=/usr && \
126
130
make && make install && cd / && rm -rf /tmp/libfabric-${LIBFABRIC_VERSION}.tar.bz2 /tmp/libfabric-${LIBFABRIC_VERSION}
127
131
132
+ RUN wget -q -O /tmp/openmpi-${OPENMPI_VERSION}.tar.gz https://download.open-mpi.org/release/open-mpi/v4.1/openmpi-${OPENMPI_VERSION}.tar.gz && \
133
+ tar -xzf /tmp/openmpi-${OPENMPI_VERSION}.tar.gz -C /tmp && \
134
+ cd /tmp/openmpi-${OPENMPI_VERSION} && \
135
+ ./configure --prefix=${MPI_ROOT} --with-libfabric=$LIBFABRIC_ROOT --with-verbs && \
136
+ make -j$(nproc) && make install && cd / && rm -rf /tmp/openmpi-${OPENMPI_VERSION}.tar.gz /tmp/openmpi-${OPENMPI_VERSION}
137
+
128
138
RUN wget -nv -O /tmp/main.zip https://github.com/HabanaAI/hccl_ofi_wrapper/archive/refs/heads/main.zip && \
129
139
unzip /tmp/main.zip -d /tmp && \
130
140
cd /tmp/hccl_ofi_wrapper-main && \
@@ -134,7 +144,7 @@ RUN wget -nv -O /tmp/main.zip https://github.com/HabanaAI/hccl_ofi_wrapper/archi
134
144
135
145
ENV APP_ROOT="/opt/app-root"
136
146
137
- RUN python3.11 -m pip install pip==23.3.1 setuptools==67.3.3 wheel==0.38.4
147
+ RUN python3.11 -m pip install pip==24.2 setuptools==75.1.0 wheel==0.44.0
138
148
139
149
WORKDIR ${APP_ROOT}
140
150
@@ -170,7 +180,7 @@ ARG ARTIFACTORY_URL
170
180
ENV BASE_NAME=rhel9.4
171
181
172
182
LABEL name="PyTorch Installer"
173
- LABEL summary="Habanalabs PyTorch installer layer for RHEL9.2 "
183
+ LABEL summary="Habanalabs PyTorch installer layer for RHEL9.4 "
174
184
LABEL description="Image with pre installed Habanalabs packages for PyTorch"
175
185
176
186
RUN echo "/usr/lib/habanalabs" > $(python -c "import sysconfig; print(sysconfig.get_path('platlib'))")/habanalabs-graph.pt
@@ -184,7 +194,7 @@ RUN echo "[CRB]" > /etc/yum.repos.d/CentOS-Linux-CRB.repo && \
184
194
echo "gpgcheck=1" >> /etc/yum.repos.d/CentOS-Linux-CRB.repo
185
195
186
196
RUN dnf install --allowerasing -y \
187
- curl \
197
+ curl-7.76.1-29.el9_4.1 \
188
198
cairo-devel \
189
199
numactl-devel \
190
200
iproute \
@@ -196,10 +206,19 @@ RUN dnf install --allowerasing -y \
196
206
gperftools-devel && \
197
207
dnf clean all && rm -rf /var/cache/yum
198
208
199
- RUN dnf config-manager --add-repo https://yum.repos.intel.com/mkl/setup/intel-mkl.repo -y && \
200
- dnf install --allowerasing -y intel-mkl-64bit-2020.4-912 && \
209
+ RUN echo "[oneAPI]" >> /etc/yum.repos.d/oneAPI.repo && \
210
+ echo "name=Intel® oneAPI repository" >> /etc/yum.repos.d/oneAPI.repo && \
211
+ echo "baseurl=https://yum.repos.intel.com/oneapi" >> /etc/yum.repos.d/oneAPI.repo && \
212
+ echo 'enabled=1' >> /etc/yum.repos.d/oneAPI.repo && \
213
+ echo "gpgcheck=1" >> /etc/yum.repos.d/oneAPI.repo && \
214
+ echo "repo_gpgcheck=1" >> /etc/yum.repos.d/oneAPI.repo && \
215
+ echo "gpgkey=https://yum.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PRODUCTS.PUB" >> /etc/yum.repos.d/oneAPI.repo
216
+
217
+ RUN dnf install --allowerasing -y intel-oneapi-mkl-2024.2.0 && \
201
218
dnf clean all && rm -rf /var/cache/yum
202
219
220
+ ENV LD_LIBRARY_PATH=/opt/intel/oneapi/mkl/2024.2/lib:${LD_LIBRARY_PATH}
221
+
203
222
RUN rm -rf /tmp/*
204
223
205
224
USER 1001
0 commit comments