@@ -3,7 +3,8 @@ 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 && \
7+ rm -rf /var/lib/apt/lists/*
78
89# https://elpa.mpcdf.mpg.de/software/tarball-archive/ELPA_TARBALL_ARCHIVE.html
910RUN cd /tmp && \
@@ -12,17 +13,18 @@ RUN cd /tmp && \
1213 tar xzf elpa-$ELPA_VER.tar.gz && rm elpa-$ELPA_VER.tar.gz && \
1314 cd elpa-$ELPA_VER && mkdir build && cd build && \
1415 ../configure CFLAGS="-O3 -march=native" FCFLAGS="-O3 -qmkl=cluster" --enable-openmp && \
15- make -j$(nproc) && \
16+ make -j $(nproc) && \
1617 make PREFIX=/usr/local install && \
1718 ln -s /usr/local/include/elpa_openmp-$ELPA_VER/elpa /usr/local/include/ && \
1819 cd /tmp && rm -rf elpa-$ELPA_VER
1920
2021# 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
22+ RUN cd /tmp && \
23+ wget --quiet https://codeload.github.com/Tencent/rapidjson/tar.gz/24b5e7a -O rapidjson-24b5e7a.tar.gz && \
24+ tar -xzf rapidjson-24b5e7a.tar.gz && cd rapidjson-24b5e7a && \
25+ cmake -B build -DRAPIDJSON_BUILD_DOC=OFF -DRAPIDJSON_BUILD_EXAMPLES=OFF -DRAPIDJSON_BUILD_TESTS=OFF && \
26+ cmake --build build --target install && \
27+ cd /tmp && rm -r rapidjson-24b5e7a rapidjson-24b5e7a.tar.gz
2628
2729# LibTorch (Note: Using pre-built Torch library with MKL might cause issues)
2830RUN 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 +51,7 @@ RUN wget --no-check-certificate --quiet --tries=3 --timeout=30 \
4951 unzip GKlib-${GKLIB_VERSION}.zip && \
5052 cd GKlib-${GKLIB_VERSION} && \
5153 make config shared=1 prefix=${GKLIB_ROOT} openmp=set && \
52- make -j$(nproc) && \
54+ make -j $(nproc) && \
5355 make install && \
5456 ls ${GKLIB_ROOT}/lib && \
5557 cp -n ${GKLIB_ROOT}/lib/libGKlib.so.0 ${GKLIB_ROOT}/lib/libGKlib.so || true && \
@@ -63,7 +65,7 @@ RUN export LD_LIBRARY_PATH=${GKLIB_ROOT}/lib:${LD_LIBRARY_PATH} && \
6365 unzip METIS-${METIS_VERSION}.zip && \
6466 cd METIS-${METIS_VERSION} && \
6567 make config shared=1 prefix=${METIS32_ROOT} gklib_path=${GKLIB_ROOT} && \
66- make -j$(nproc) && \
68+ make -j $(nproc) && \
6769 make install && \
6870 cd / && rm -rf METIS-${METIS_VERSION} METIS-${METIS_VERSION}.zip
6971
@@ -75,7 +77,7 @@ RUN export LD_LIBRARY_PATH=${METIS32_ROOT}/lib:${GKLIB_ROOT}/lib:${LD_LIBRARY_PA
7577 unzip ParMETIS-${PARMETIS_VERSION}.zip && \
7678 cd ParMETIS-${PARMETIS_VERSION} && \
7779 make config shared=1 prefix=${PARMETIS32_ROOT} gklib_path=${GKLIB_ROOT} metis_path=${METIS32_ROOT} && \
78- make -j$(nproc) && \
80+ make -j $(nproc) && \
7981 make install && \
8082 cd / && rm -rf ParMETIS-${PARMETIS_VERSION} ParMETIS-${PARMETIS_VERSION}.zip
8183
@@ -102,7 +104,7 @@ RUN wget --no-check-certificate --quiet --tries=3 --timeout=30 \
102104 -DCMAKE_CXX_FLAGS="-O3 -fopenmp" \
103105 -DXSDK_ENABLE_Fortran=ON \
104106 -DCMAKE_Fortran_COMPILER=mpiifx && \
105- make -j$(nproc) && \
107+ make -j $(nproc) && \
106108 make install && \
107109 cd / && rm -rf superlu_dist-${SUPERLU_DIST_VERSION} v${SUPERLU_DIST_VERSION}.tar.gz
108110
@@ -130,7 +132,7 @@ RUN export LD_LIBRARY_PATH=${SUPERLU_DIST32_ROOT}/lib:${METIS32_ROOT}/lib:${PARM
130132 -DCMAKE_INSTALL_PREFIX=${PEXSI32_ROOT} \
131133 -DPEXSI_ENABLE_OPENMP=ON \
132134 -DPEXSI_ENABLE_FORTRAN=OFF && \
133- make pexsi -j$(nproc) && \
135+ make pexsi -j $(nproc) && \
134136 make install && \
135137 cd / && rm -rf pexsi-${PEXSI_VERSION} pexsi-${PEXSI_VERSION}.tar.gz
136138
@@ -154,7 +156,7 @@ RUN cd /tmp && git clone https://github.com/deepmodeling/abacus-develop.git --de
154156 -DENABLE_LIBRI=ON \
155157 -DENABLE_RAPIDJSON=ON \
156158 -DCMAKE_BUILD_TYPE=Release && \
157- cmake --build build -j" $(nproc)" && \
159+ cmake --build build -j $(nproc) && \
158160 cmake --install build && \
159161 (/usr/local/bin/abacus --version || echo "ABACUS installed but version check failed") && \
160162 rm -rf /tmp/abacus-develop
0 commit comments