Skip to content

Commit 442ef5c

Browse files
authored
Update Dockerfile.intel
1 parent 4055d74 commit 442ef5c

1 file changed

Lines changed: 19 additions & 13 deletions

File tree

Dockerfile.intel

Lines changed: 19 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,12 @@ FROM intel/oneapi-hpckit:2025.2.2-0-devel-ubuntu22.04
33
RUN apt-get update && apt-get install -y \
44
bc cmake git gnupg gcc g++ python3-numpy sudo wget vim unzip \
55
libcereal-dev libxc-dev libgtest-dev libgmock-dev libbenchmark-dev \
6-
pkg-config build-essential autoconf automake libtool
6+
pkg-config build-essential autoconf automake libtool ca-certificates && \
7+
rm -rf /var/lib/apt/lists/*
8+
9+
ENV CC="mpiicx"
10+
ENV CXX="mpiicpx"
11+
ENV FC="mpiifx"
712

813
# https://elpa.mpcdf.mpg.de/software/tarball-archive/ELPA_TARBALL_ARCHIVE.html
914
RUN cd /tmp && \
@@ -12,17 +17,18 @@ RUN cd /tmp && \
1217
tar xzf elpa-$ELPA_VER.tar.gz && rm elpa-$ELPA_VER.tar.gz && \
1318
cd elpa-$ELPA_VER && mkdir build && cd build && \
1419
../configure CFLAGS="-O3 -march=native" FCFLAGS="-O3 -qmkl=cluster" --enable-openmp && \
15-
make -j$(nproc) && \
20+
make -j $(nproc) && \
1621
make PREFIX=/usr/local install && \
1722
ln -s /usr/local/include/elpa_openmp-$ELPA_VER/elpa /usr/local/include/ && \
1823
cd /tmp && rm -rf elpa-$ELPA_VER
1924

2025
# RapidJSON
21-
RUN cd /tmp && wget --quiet https://codeload.github.com/Tencent/rapidjson/tar.gz/24b5e7a -O rapidjson-24b5e7a.tar.gz
22-
RUN tar -xzf rapidjson-24b5e7a.tar.gz && cd rapidjson-24b5e7a
23-
RUN cmake -B build -DRAPIDJSON_BUILD_DOC=OFF -DRAPIDJSON_BUILD_EXAMPLES=OFF -DRAPIDJSON_BUILD_TESTS=OFF
24-
RUN cmake --build build --target install
25-
RUN cd /tmp && rm -r rapidjson-24b5e7a
26+
RUN cd /tmp && \
27+
wget --quiet https://codeload.github.com/Tencent/rapidjson/tar.gz/24b5e7a -O rapidjson-24b5e7a.tar.gz && \
28+
tar -xzf rapidjson-24b5e7a.tar.gz && cd rapidjson-24b5e7a && \
29+
cmake -B build -DRAPIDJSON_BUILD_DOC=OFF -DRAPIDJSON_BUILD_EXAMPLES=OFF -DRAPIDJSON_BUILD_TESTS=OFF && \
30+
cmake --build build --target install && \
31+
cd /tmp && rm -r rapidjson-24b5e7a rapidjson-24b5e7a.tar.gz
2632

2733
# LibTorch (Note: Using pre-built Torch library with MKL might cause issues)
2834
RUN wget -q https://download.pytorch.org/libtorch/cpu/libtorch-cxx11-abi-shared-with-deps-2.0.0%2Bcpu.zip -O /tmp/libtorch.zip && \
@@ -49,7 +55,7 @@ RUN wget --no-check-certificate --quiet --tries=3 --timeout=30 \
4955
unzip GKlib-${GKLIB_VERSION}.zip && \
5056
cd GKlib-${GKLIB_VERSION} && \
5157
make config shared=1 prefix=${GKLIB_ROOT} openmp=set && \
52-
make -j$(nproc) && \
58+
make -j $(nproc) && \
5359
make install && \
5460
ls ${GKLIB_ROOT}/lib && \
5561
cp -n ${GKLIB_ROOT}/lib/libGKlib.so.0 ${GKLIB_ROOT}/lib/libGKlib.so || true && \
@@ -63,7 +69,7 @@ RUN export LD_LIBRARY_PATH=${GKLIB_ROOT}/lib:${LD_LIBRARY_PATH} && \
6369
unzip METIS-${METIS_VERSION}.zip && \
6470
cd METIS-${METIS_VERSION} && \
6571
make config shared=1 prefix=${METIS32_ROOT} gklib_path=${GKLIB_ROOT} && \
66-
make -j$(nproc) && \
72+
make -j $(nproc) && \
6773
make install && \
6874
cd / && rm -rf METIS-${METIS_VERSION} METIS-${METIS_VERSION}.zip
6975

@@ -75,7 +81,7 @@ RUN export LD_LIBRARY_PATH=${METIS32_ROOT}/lib:${GKLIB_ROOT}/lib:${LD_LIBRARY_PA
7581
unzip ParMETIS-${PARMETIS_VERSION}.zip && \
7682
cd ParMETIS-${PARMETIS_VERSION} && \
7783
make config shared=1 prefix=${PARMETIS32_ROOT} gklib_path=${GKLIB_ROOT} metis_path=${METIS32_ROOT} && \
78-
make -j$(nproc) && \
84+
make -j $(nproc) && \
7985
make install && \
8086
cd / && rm -rf ParMETIS-${PARMETIS_VERSION} ParMETIS-${PARMETIS_VERSION}.zip
8187

@@ -102,7 +108,7 @@ RUN wget --no-check-certificate --quiet --tries=3 --timeout=30 \
102108
-DCMAKE_CXX_FLAGS="-O3 -fopenmp" \
103109
-DXSDK_ENABLE_Fortran=ON \
104110
-DCMAKE_Fortran_COMPILER=mpiifx && \
105-
make -j$(nproc) && \
111+
make -j $(nproc) && \
106112
make install && \
107113
cd / && rm -rf superlu_dist-${SUPERLU_DIST_VERSION} v${SUPERLU_DIST_VERSION}.tar.gz
108114

@@ -130,7 +136,7 @@ RUN export LD_LIBRARY_PATH=${SUPERLU_DIST32_ROOT}/lib:${METIS32_ROOT}/lib:${PARM
130136
-DCMAKE_INSTALL_PREFIX=${PEXSI32_ROOT} \
131137
-DPEXSI_ENABLE_OPENMP=ON \
132138
-DPEXSI_ENABLE_FORTRAN=OFF && \
133-
make pexsi -j$(nproc) && \
139+
make pexsi -j $(nproc) && \
134140
make install && \
135141
cd / && rm -rf pexsi-${PEXSI_VERSION} pexsi-${PEXSI_VERSION}.tar.gz
136142

@@ -154,7 +160,7 @@ RUN cd /tmp && git clone https://github.com/deepmodeling/abacus-develop.git --de
154160
-DENABLE_LIBRI=ON \
155161
-DENABLE_RAPIDJSON=ON \
156162
-DCMAKE_BUILD_TYPE=Release && \
157-
cmake --build build -j"$(nproc)" && \
163+
cmake --build build -j $(nproc) && \
158164
cmake --install build && \
159165
(/usr/local/bin/abacus --version || echo "ABACUS installed but version check failed") && \
160166
rm -rf /tmp/abacus-develop

0 commit comments

Comments
 (0)