@@ -3,7 +3,12 @@ FROM intel/oneapi-hpckit:2025.2.2-0-devel-ubuntu22.04
33RUN 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
914RUN 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)
2834RUN 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