Skip to content

Commit 7e9bac4

Browse files
authored
Update Dockerfile.cuda
1 parent 97a7a83 commit 7e9bac4

1 file changed

Lines changed: 45 additions & 1 deletion

File tree

Dockerfile.cuda

Lines changed: 45 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,48 @@
1-
FROM nvidia/cuda:12.2.0-devel-ubuntu22.04
1+
FROM nvidiFROM nvidia/cuda:12.2.0-devel-ubuntu22.04
2+
3+
RUN apt update && apt install -y --no-install-recommends \
4+
libopenblas-openmp-dev liblapack-dev libscalapack-mpi-dev libfftw3-dev libcereal-dev \
5+
libxc-dev libgtest-dev libgmock-dev libbenchmark-dev python3-numpy ca-certificates \
6+
bc cmake git g++ make time sudo unzip vim wget libopenmpi-dev gfortran libtool-bin && \
7+
rm -rf /var/lib/apt/lists/*
8+
9+
ENV TERM=xterm-256color \
10+
OMPI_ALLOW_RUN_AS_ROOT=1 OMPI_ALLOW_RUN_AS_ROOT_CONFIRM=1 \
11+
OMPI_MCA_btl_vader_single_copy_mechanism=none
12+
13+
RUN git clone https://github.com/llohse/libnpy.git && \
14+
cp libnpy/include/npy.hpp /usr/local/include && \
15+
rm -r libnpy
16+
17+
RUN cd /tmp && \
18+
ELPA_VER=2024.05.001 && \
19+
wget -q https://elpa.mpcdf.mpg.de/software/tarball-archive/Releases/$ELPA_VER/elpa-$ELPA_VER.tar.gz && \
20+
tar xzf elpa-$ELPA_VER.tar.gz && rm elpa-$ELPA_VER.tar.gz && \
21+
cd elpa-$ELPA_VER && \
22+
./configure CXX=mpic++ CFLAGS="-O3 -march=native" FCFLAGS="-O3" LDFLAGS="-L/usr/local/cuda/lib64 -lstdc++" NVCCFLAGS="-arch sm_75 -arch sm_80" --enable-openmp --enable-nvidia-gpu --with-NVIDIA-GPU-compute-capability="sm_70" --with-cuda-path=/usr/local/cuda/ && \
23+
make -j $(nproc) && \
24+
make PREFIX=/usr/local install && \
25+
ln -s /usr/local/include/elpa_openmp-$ELPA_VER/elpa /usr/local/include/ && \
26+
cd /tmp && rm -rf elpa-$ELPA_VER
27+
28+
# RapidJSON
29+
RUN cd /tmp && \
30+
wget --quiet https://codeload.github.com/Tencent/rapidjson/tar.gz/24b5e7a -O rapidjson-24b5e7a.tar.gz && \
31+
tar -xzf rapidjson-24b5e7a.tar.gz && cd rapidjson-24b5e7a && \
32+
cmake -B build -DRAPIDJSON_BUILD_DOC=OFF -DRAPIDJSON_BUILD_EXAMPLES=OFF -DRAPIDJSON_BUILD_TESTS=OFF && \
33+
cmake --build build --target install && \
34+
cd /tmp && rm -rf rapidjson-24b5e7a rapidjson-24b5e7a.tar.gz
35+
36+
ADD https://api.github.com/repos/deepmodeling/abacus-develop/git/refs/heads/develop /dev/null
37+
38+
RUN git clone https://github.com/deepmodeling/abacus-develop.git --depth 1 && \
39+
cd abacus-develop && \
40+
cmake -B build -DUSE_CUDA=ON -DENABLE_RAPIDJSON=ON && \
41+
cmake --build build -j $(nproc) && \
42+
cmake --install build && \
43+
rm -rf build && \
44+
cd ..
45+
#&& rm -rf abacus-developa/cuda:12.2.0-devel-ubuntu22.04
246

347
RUN apt update && apt install -y --no-install-recommends \
448
libopenblas-openmp-dev liblapack-dev libscalapack-mpi-dev libfftw3-dev libcereal-dev \

0 commit comments

Comments
 (0)