From 997816f18ccc757fc0e01c1a2c90e326ef9a19f2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ole=20Sch=C3=BCtt?= Date: Wed, 9 Jun 2021 23:46:57 +0200 Subject: [PATCH] Toolchain: Make Dockerfile.cuda_mkl cache-friendly --- tools/toolchain/Dockerfile.cuda_mkl | 46 +++++++++++++++++++++++++++-- 1 file changed, 44 insertions(+), 2 deletions(-) diff --git a/tools/toolchain/Dockerfile.cuda_mkl b/tools/toolchain/Dockerfile.cuda_mkl index e29c3519bf..11cd980b61 100644 --- a/tools/toolchain/Dockerfile.cuda_mkl +++ b/tools/toolchain/Dockerfile.cuda_mkl @@ -32,7 +32,17 @@ ENV MKLROOT=/opt/intel/compilers_and_libraries/linux/mkl # Build toolchain. WORKDIR /opt/cp2k-toolchain -COPY ./scripts ./scripts +RUN mkdir scripts +COPY ./scripts/VERSION \ + ./scripts/parse_if.py \ + ./scripts/tool_kit.sh \ + ./scripts/common_vars.sh \ + ./scripts/signal_trap.sh \ + ./scripts/get_openblas_arch.sh \ + ./scripts/ + +# Dry-run leaves behind config files for the followup install scripts. +# This breaks up the lengthy installation into smaller docker build steps. COPY ./install_cp2k_toolchain.sh . RUN ./install_cp2k_toolchain.sh \ --mpi-mode=mpich \ @@ -40,6 +50,38 @@ RUN ./install_cp2k_toolchain.sh \ --with-scalapack=no \ --libint-lmax=${LIBINT_LMAX} \ --gpu-ver=${GPU_VERSION} \ - && rm -rf ./build + --dry-run + +COPY ./scripts/stage0/ ./scripts/stage0/ +RUN ./scripts/stage0/install_stage0.sh && rm -rf ./build + +COPY ./scripts/stage1/ ./scripts/stage1/ +RUN ./scripts/stage1/install_stage1.sh && rm -rf ./build + +COPY ./scripts/stage2/ ./scripts/stage2/ +RUN ./scripts/stage2/install_stage2.sh && rm -rf ./build + +COPY ./scripts/stage3/ ./scripts/stage3/ +RUN ./scripts/stage3/install_stage3.sh && rm -rf ./build + +COPY ./scripts/stage4/ ./scripts/stage4/ +RUN ./scripts/stage4/install_stage4.sh && rm -rf ./build + +COPY ./scripts/stage5/ ./scripts/stage5/ +RUN ./scripts/stage5/install_stage5.sh && rm -rf ./build + +COPY ./scripts/stage6/ ./scripts/stage6/ +RUN ./scripts/stage6/install_stage6.sh && rm -rf ./build + +COPY ./scripts/stage7/ ./scripts/stage7/ +RUN ./scripts/stage7/install_stage7.sh && rm -rf ./build + +COPY ./scripts/stage8/ ./scripts/stage8/ +RUN ./scripts/stage8/install_stage8.sh && rm -rf ./build + +COPY ./scripts/arch_base.tmpl \ + ./scripts/generate_arch_files.sh \ + ./scripts/ +RUN ./scripts/generate_arch_files.sh && rm -rf ./build #EOF