diff --git a/tools/dashboard/dashboard.conf b/tools/dashboard/dashboard.conf index 7b7c4bdad6..b6cb6234ad 100644 --- a/tools/dashboard/dashboard.conf +++ b/tools/dashboard/dashboard.conf @@ -202,6 +202,18 @@ report_url: https://storage.googleapis.com/cp2k-ci/dashboard_hip-rocm-build_rep # ============================================================================== +[intel-oneapi-hpckit-ssmp] +sortkey: 1028 +name: Intel oneAPI HPC Toolkit (ssmp) +host: GCP +report_url: https://storage.googleapis.com/cp2k-ci/dashboard_intel-oneapi-hpckit-ssmp_report.txt + +[intel-oneapi-hpckit-psmp] +sortkey: 1029 +name: Intel oneAPI HPC Toolkit (psmp) +host: GCP +report_url: https://storage.googleapis.com/cp2k-ci/dashboard_intel-oneapi-hpckit-psmp_report.txt + [intel-ssmp] sortkey: 1030 name: Intel oneAPI (ssmp) diff --git a/tools/docker/Dockerfile.build_hip_rocm_Mi100 b/tools/docker/Dockerfile.build_hip_rocm_Mi100 index 39c60bfd46..48c4d29df9 100644 --- a/tools/docker/Dockerfile.build_hip_rocm_Mi100 +++ b/tools/docker/Dockerfile.build_hip_rocm_Mi100 @@ -1,6 +1,6 @@ # # This file was created by generate_dockerfiles.py. -# Usage: podman build -f ./Dockerfile.build_hip_rocm_Mi100 ../../ +# Usage: podman build --shm-size=1g -f ./Dockerfile.build_hip_rocm_Mi100 ../../ # FROM rocm/dev-ubuntu-22.04:5.3.2-complete diff --git a/tools/docker/Dockerfile.build_hip_rocm_Mi50 b/tools/docker/Dockerfile.build_hip_rocm_Mi50 index 264941676c..cfb11e9992 100644 --- a/tools/docker/Dockerfile.build_hip_rocm_Mi50 +++ b/tools/docker/Dockerfile.build_hip_rocm_Mi50 @@ -1,6 +1,6 @@ # # This file was created by generate_dockerfiles.py. -# Usage: podman build -f ./Dockerfile.build_hip_rocm_Mi50 ../../ +# Usage: podman build --shm-size=1g -f ./Dockerfile.build_hip_rocm_Mi50 ../../ # FROM rocm/dev-ubuntu-22.04:5.3.2-complete diff --git a/tools/docker/Dockerfile.test_aiida b/tools/docker/Dockerfile.test_aiida index c6b2a09e75..0dac32067b 100644 --- a/tools/docker/Dockerfile.test_aiida +++ b/tools/docker/Dockerfile.test_aiida @@ -1,6 +1,6 @@ # # This file was created by generate_dockerfiles.py. -# Usage: podman build -f ./Dockerfile.test_aiida ../../ +# Usage: podman build --shm-size=1g -f ./Dockerfile.test_aiida ../../ # FROM ubuntu:24.04 diff --git a/tools/docker/Dockerfile.test_arm64-psmp b/tools/docker/Dockerfile.test_arm64-psmp index 0219c5381a..f11a9acbc0 100644 --- a/tools/docker/Dockerfile.test_arm64-psmp +++ b/tools/docker/Dockerfile.test_arm64-psmp @@ -1,6 +1,6 @@ # # This file was created by generate_dockerfiles.py. -# Usage: podman build -f ./Dockerfile.test_arm64-psmp ../../ +# Usage: podman build --shm-size=1g -f ./Dockerfile.test_arm64-psmp ../../ # FROM arm64v8/ubuntu:24.04 diff --git a/tools/docker/Dockerfile.test_asan-psmp b/tools/docker/Dockerfile.test_asan-psmp index 4c9e47034e..6062d8334f 100644 --- a/tools/docker/Dockerfile.test_asan-psmp +++ b/tools/docker/Dockerfile.test_asan-psmp @@ -1,6 +1,6 @@ # # This file was created by generate_dockerfiles.py. -# Usage: podman build -f ./Dockerfile.test_asan-psmp ../../ +# Usage: podman build --shm-size=1g -f ./Dockerfile.test_asan-psmp ../../ # FROM ubuntu:24.04 diff --git a/tools/docker/Dockerfile.test_asan-ssmp b/tools/docker/Dockerfile.test_asan-ssmp index a9cbdce4dd..f79a929e08 100644 --- a/tools/docker/Dockerfile.test_asan-ssmp +++ b/tools/docker/Dockerfile.test_asan-ssmp @@ -1,6 +1,6 @@ # # This file was created by generate_dockerfiles.py. -# Usage: podman build -f ./Dockerfile.test_asan-ssmp ../../ +# Usage: podman build --shm-size=1g -f ./Dockerfile.test_asan-ssmp ../../ # FROM ubuntu:24.04 diff --git a/tools/docker/Dockerfile.test_ase b/tools/docker/Dockerfile.test_ase index f199447d9e..af35f0d2e2 100644 --- a/tools/docker/Dockerfile.test_ase +++ b/tools/docker/Dockerfile.test_ase @@ -1,6 +1,6 @@ # # This file was created by generate_dockerfiles.py. -# Usage: podman build -f ./Dockerfile.test_ase ../../ +# Usage: podman build --shm-size=1g -f ./Dockerfile.test_ase ../../ # FROM ubuntu:24.04 diff --git a/tools/docker/Dockerfile.test_conventions b/tools/docker/Dockerfile.test_conventions index 9ae9c32b73..f901ac1551 100644 --- a/tools/docker/Dockerfile.test_conventions +++ b/tools/docker/Dockerfile.test_conventions @@ -1,6 +1,6 @@ # # This file was created by generate_dockerfiles.py. -# Usage: podman build -f ./Dockerfile.test_conventions ../../ +# Usage: podman build --shm-size=1g -f ./Dockerfile.test_conventions ../../ # FROM ubuntu:24.04 diff --git a/tools/docker/Dockerfile.test_coverage-pdbg b/tools/docker/Dockerfile.test_coverage-pdbg index 9ca912b4c5..021657e58e 100644 --- a/tools/docker/Dockerfile.test_coverage-pdbg +++ b/tools/docker/Dockerfile.test_coverage-pdbg @@ -1,6 +1,6 @@ # # This file was created by generate_dockerfiles.py. -# Usage: podman build -f ./Dockerfile.test_coverage-pdbg ../../ +# Usage: podman build --shm-size=1g -f ./Dockerfile.test_coverage-pdbg ../../ # FROM ubuntu:24.04 diff --git a/tools/docker/Dockerfile.test_coverage-sdbg b/tools/docker/Dockerfile.test_coverage-sdbg index 9ad4060f82..03eaf31835 100644 --- a/tools/docker/Dockerfile.test_coverage-sdbg +++ b/tools/docker/Dockerfile.test_coverage-sdbg @@ -1,6 +1,6 @@ # # This file was created by generate_dockerfiles.py. -# Usage: podman build -f ./Dockerfile.test_coverage-sdbg ../../ +# Usage: podman build --shm-size=1g -f ./Dockerfile.test_coverage-sdbg ../../ # FROM ubuntu:24.04 diff --git a/tools/docker/Dockerfile.test_cuda_A100 b/tools/docker/Dockerfile.test_cuda_A100 index 254ad2c1bf..0e4f1d6dce 100644 --- a/tools/docker/Dockerfile.test_cuda_A100 +++ b/tools/docker/Dockerfile.test_cuda_A100 @@ -1,6 +1,6 @@ # # This file was created by generate_dockerfiles.py. -# Usage: podman build -f ./Dockerfile.test_cuda_A100 ../../ +# Usage: podman build --shm-size=1g -f ./Dockerfile.test_cuda_A100 ../../ # FROM nvidia/cuda:11.8.0-devel-ubuntu22.04 diff --git a/tools/docker/Dockerfile.test_cuda_P100 b/tools/docker/Dockerfile.test_cuda_P100 index 283def59c3..7db2447ec9 100644 --- a/tools/docker/Dockerfile.test_cuda_P100 +++ b/tools/docker/Dockerfile.test_cuda_P100 @@ -1,6 +1,6 @@ # # This file was created by generate_dockerfiles.py. -# Usage: podman build -f ./Dockerfile.test_cuda_P100 ../../ +# Usage: podman build --shm-size=1g -f ./Dockerfile.test_cuda_P100 ../../ # FROM nvidia/cuda:11.8.0-devel-ubuntu22.04 diff --git a/tools/docker/Dockerfile.test_cuda_V100 b/tools/docker/Dockerfile.test_cuda_V100 index 69e124a178..117b99752c 100644 --- a/tools/docker/Dockerfile.test_cuda_V100 +++ b/tools/docker/Dockerfile.test_cuda_V100 @@ -1,6 +1,6 @@ # # This file was created by generate_dockerfiles.py. -# Usage: podman build -f ./Dockerfile.test_cuda_V100 ../../ +# Usage: podman build --shm-size=1g -f ./Dockerfile.test_cuda_V100 ../../ # FROM nvidia/cuda:11.8.0-devel-ubuntu22.04 diff --git a/tools/docker/Dockerfile.test_doxygen b/tools/docker/Dockerfile.test_doxygen index 7aebca072d..78385398de 100644 --- a/tools/docker/Dockerfile.test_doxygen +++ b/tools/docker/Dockerfile.test_doxygen @@ -1,6 +1,6 @@ # # This file was created by generate_dockerfiles.py. -# Usage: podman build -f ./Dockerfile.test_doxygen ../../ +# Usage: podman build --shm-size=1g -f ./Dockerfile.test_doxygen ../../ # FROM ubuntu:24.04 diff --git a/tools/docker/Dockerfile.test_fedora-psmp b/tools/docker/Dockerfile.test_fedora-psmp index a22652a6a5..167e922bd4 100644 --- a/tools/docker/Dockerfile.test_fedora-psmp +++ b/tools/docker/Dockerfile.test_fedora-psmp @@ -1,6 +1,6 @@ # # This file was created by generate_dockerfiles.py. -# Usage: podman build -f ./Dockerfile.test_fedora-psmp ../../ +# Usage: podman build --shm-size=1g -f ./Dockerfile.test_fedora-psmp ../../ # FROM fedora:41 diff --git a/tools/docker/Dockerfile.test_gcc10 b/tools/docker/Dockerfile.test_gcc10 index cc431c649a..0329d628d2 100644 --- a/tools/docker/Dockerfile.test_gcc10 +++ b/tools/docker/Dockerfile.test_gcc10 @@ -1,6 +1,6 @@ # # This file was created by generate_dockerfiles.py. -# Usage: podman build -f ./Dockerfile.test_gcc10 ../../ +# Usage: podman build --shm-size=1g -f ./Dockerfile.test_gcc10 ../../ # FROM ubuntu:24.04 diff --git a/tools/docker/Dockerfile.test_gcc11 b/tools/docker/Dockerfile.test_gcc11 index d6087a1186..91f56dcf8f 100644 --- a/tools/docker/Dockerfile.test_gcc11 +++ b/tools/docker/Dockerfile.test_gcc11 @@ -1,6 +1,6 @@ # # This file was created by generate_dockerfiles.py. -# Usage: podman build -f ./Dockerfile.test_gcc11 ../../ +# Usage: podman build --shm-size=1g -f ./Dockerfile.test_gcc11 ../../ # FROM ubuntu:24.04 diff --git a/tools/docker/Dockerfile.test_gcc12 b/tools/docker/Dockerfile.test_gcc12 index 23d224ad03..623026eeb2 100644 --- a/tools/docker/Dockerfile.test_gcc12 +++ b/tools/docker/Dockerfile.test_gcc12 @@ -1,6 +1,6 @@ # # This file was created by generate_dockerfiles.py. -# Usage: podman build -f ./Dockerfile.test_gcc12 ../../ +# Usage: podman build --shm-size=1g -f ./Dockerfile.test_gcc12 ../../ # FROM ubuntu:24.04 diff --git a/tools/docker/Dockerfile.test_gcc13 b/tools/docker/Dockerfile.test_gcc13 index 496d583869..5aba2d8665 100644 --- a/tools/docker/Dockerfile.test_gcc13 +++ b/tools/docker/Dockerfile.test_gcc13 @@ -1,6 +1,6 @@ # # This file was created by generate_dockerfiles.py. -# Usage: podman build -f ./Dockerfile.test_gcc13 ../../ +# Usage: podman build --shm-size=1g -f ./Dockerfile.test_gcc13 ../../ # FROM ubuntu:24.04 diff --git a/tools/docker/Dockerfile.test_gcc14 b/tools/docker/Dockerfile.test_gcc14 index a84f7b51d2..55350de2a6 100644 --- a/tools/docker/Dockerfile.test_gcc14 +++ b/tools/docker/Dockerfile.test_gcc14 @@ -1,6 +1,6 @@ # # This file was created by generate_dockerfiles.py. -# Usage: podman build -f ./Dockerfile.test_gcc14 ../../ +# Usage: podman build --shm-size=1g -f ./Dockerfile.test_gcc14 ../../ # FROM ubuntu:24.04 diff --git a/tools/docker/Dockerfile.test_gcc8 b/tools/docker/Dockerfile.test_gcc8 index 9e872097b0..4bcd4ee9cd 100644 --- a/tools/docker/Dockerfile.test_gcc8 +++ b/tools/docker/Dockerfile.test_gcc8 @@ -1,6 +1,6 @@ # # This file was created by generate_dockerfiles.py. -# Usage: podman build -f ./Dockerfile.test_gcc8 ../../ +# Usage: podman build --shm-size=1g -f ./Dockerfile.test_gcc8 ../../ # FROM ubuntu:20.04 diff --git a/tools/docker/Dockerfile.test_gcc9 b/tools/docker/Dockerfile.test_gcc9 index 078b49be89..d5b1cf7f88 100644 --- a/tools/docker/Dockerfile.test_gcc9 +++ b/tools/docker/Dockerfile.test_gcc9 @@ -1,6 +1,6 @@ # # This file was created by generate_dockerfiles.py. -# Usage: podman build -f ./Dockerfile.test_gcc9 ../../ +# Usage: podman build --shm-size=1g -f ./Dockerfile.test_gcc9 ../../ # FROM ubuntu:24.04 diff --git a/tools/docker/Dockerfile.test_generic_pdbg b/tools/docker/Dockerfile.test_generic_pdbg index 1c67e38bd6..1687e2cb1e 100644 --- a/tools/docker/Dockerfile.test_generic_pdbg +++ b/tools/docker/Dockerfile.test_generic_pdbg @@ -1,6 +1,6 @@ # # This file was created by generate_dockerfiles.py. -# Usage: podman build -f ./Dockerfile.test_generic_pdbg ../../ +# Usage: podman build --shm-size=1g -f ./Dockerfile.test_generic_pdbg ../../ # FROM ubuntu:24.04 diff --git a/tools/docker/Dockerfile.test_generic_psmp b/tools/docker/Dockerfile.test_generic_psmp index e82eee2bda..beef425ee9 100644 --- a/tools/docker/Dockerfile.test_generic_psmp +++ b/tools/docker/Dockerfile.test_generic_psmp @@ -1,6 +1,6 @@ # # This file was created by generate_dockerfiles.py. -# Usage: podman build -f ./Dockerfile.test_generic_psmp ../../ +# Usage: podman build --shm-size=1g -f ./Dockerfile.test_generic_psmp ../../ # FROM ubuntu:24.04 diff --git a/tools/docker/Dockerfile.test_generic_sdbg b/tools/docker/Dockerfile.test_generic_sdbg index b9e4a09783..e0193ae1d6 100644 --- a/tools/docker/Dockerfile.test_generic_sdbg +++ b/tools/docker/Dockerfile.test_generic_sdbg @@ -1,6 +1,6 @@ # # This file was created by generate_dockerfiles.py. -# Usage: podman build -f ./Dockerfile.test_generic_sdbg ../../ +# Usage: podman build --shm-size=1g -f ./Dockerfile.test_generic_sdbg ../../ # FROM ubuntu:24.04 diff --git a/tools/docker/Dockerfile.test_generic_ssmp b/tools/docker/Dockerfile.test_generic_ssmp index 726ed3c662..bb12a3b0e3 100644 --- a/tools/docker/Dockerfile.test_generic_ssmp +++ b/tools/docker/Dockerfile.test_generic_ssmp @@ -1,6 +1,6 @@ # # This file was created by generate_dockerfiles.py. -# Usage: podman build -f ./Dockerfile.test_generic_ssmp ../../ +# Usage: podman build --shm-size=1g -f ./Dockerfile.test_generic_ssmp ../../ # FROM ubuntu:24.04 diff --git a/tools/docker/Dockerfile.test_gromacs b/tools/docker/Dockerfile.test_gromacs index ce2b5a01ab..5f9fa45689 100644 --- a/tools/docker/Dockerfile.test_gromacs +++ b/tools/docker/Dockerfile.test_gromacs @@ -1,6 +1,6 @@ # # This file was created by generate_dockerfiles.py. -# Usage: podman build -f ./Dockerfile.test_gromacs ../../ +# Usage: podman build --shm-size=1g -f ./Dockerfile.test_gromacs ../../ # FROM ubuntu:24.04 diff --git a/tools/docker/Dockerfile.test_hip_cuda_A100 b/tools/docker/Dockerfile.test_hip_cuda_A100 index 714e01b73c..286fced430 100644 --- a/tools/docker/Dockerfile.test_hip_cuda_A100 +++ b/tools/docker/Dockerfile.test_hip_cuda_A100 @@ -1,6 +1,6 @@ # # This file was created by generate_dockerfiles.py. -# Usage: podman build -f ./Dockerfile.test_hip_cuda_A100 ../../ +# Usage: podman build --shm-size=1g -f ./Dockerfile.test_hip_cuda_A100 ../../ # FROM nvidia/cuda:11.8.0-devel-ubuntu22.04 diff --git a/tools/docker/Dockerfile.test_hip_cuda_P100 b/tools/docker/Dockerfile.test_hip_cuda_P100 index fa9e88176b..41d9943ac1 100644 --- a/tools/docker/Dockerfile.test_hip_cuda_P100 +++ b/tools/docker/Dockerfile.test_hip_cuda_P100 @@ -1,6 +1,6 @@ # # This file was created by generate_dockerfiles.py. -# Usage: podman build -f ./Dockerfile.test_hip_cuda_P100 ../../ +# Usage: podman build --shm-size=1g -f ./Dockerfile.test_hip_cuda_P100 ../../ # FROM nvidia/cuda:11.8.0-devel-ubuntu22.04 diff --git a/tools/docker/Dockerfile.test_hip_cuda_V100 b/tools/docker/Dockerfile.test_hip_cuda_V100 index b1bcb7317e..5b6407c62e 100644 --- a/tools/docker/Dockerfile.test_hip_cuda_V100 +++ b/tools/docker/Dockerfile.test_hip_cuda_V100 @@ -1,6 +1,6 @@ # # This file was created by generate_dockerfiles.py. -# Usage: podman build -f ./Dockerfile.test_hip_cuda_V100 ../../ +# Usage: podman build --shm-size=1g -f ./Dockerfile.test_hip_cuda_V100 ../../ # FROM nvidia/cuda:11.8.0-devel-ubuntu22.04 diff --git a/tools/docker/Dockerfile.test_hip_rocm_Mi100 b/tools/docker/Dockerfile.test_hip_rocm_Mi100 index ad0de87f9e..31d1926981 100644 --- a/tools/docker/Dockerfile.test_hip_rocm_Mi100 +++ b/tools/docker/Dockerfile.test_hip_rocm_Mi100 @@ -1,6 +1,6 @@ # # This file was created by generate_dockerfiles.py. -# Usage: podman build -f ./Dockerfile.test_hip_rocm_Mi100 ../../ +# Usage: podman build --shm-size=1g -f ./Dockerfile.test_hip_rocm_Mi100 ../../ # FROM rocm/dev-ubuntu-22.04:5.3.2-complete diff --git a/tools/docker/Dockerfile.test_hip_rocm_Mi50 b/tools/docker/Dockerfile.test_hip_rocm_Mi50 index 9a5ff2c2cb..87b6d6df09 100644 --- a/tools/docker/Dockerfile.test_hip_rocm_Mi50 +++ b/tools/docker/Dockerfile.test_hip_rocm_Mi50 @@ -1,6 +1,6 @@ # # This file was created by generate_dockerfiles.py. -# Usage: podman build -f ./Dockerfile.test_hip_rocm_Mi50 ../../ +# Usage: podman build --shm-size=1g -f ./Dockerfile.test_hip_rocm_Mi50 ../../ # FROM rocm/dev-ubuntu-22.04:5.3.2-complete diff --git a/tools/docker/Dockerfile.test_i-pi b/tools/docker/Dockerfile.test_i-pi index 5835625a11..e3f0e8b77c 100644 --- a/tools/docker/Dockerfile.test_i-pi +++ b/tools/docker/Dockerfile.test_i-pi @@ -1,6 +1,6 @@ # # This file was created by generate_dockerfiles.py. -# Usage: podman build -f ./Dockerfile.test_i-pi ../../ +# Usage: podman build --shm-size=1g -f ./Dockerfile.test_i-pi ../../ # FROM ubuntu:24.04 diff --git a/tools/docker/Dockerfile.test_intel-oneapi-hpckit-psmp b/tools/docker/Dockerfile.test_intel-oneapi-hpckit-psmp new file mode 100644 index 0000000000..f4ad67a630 --- /dev/null +++ b/tools/docker/Dockerfile.test_intel-oneapi-hpckit-psmp @@ -0,0 +1,96 @@ +# +# This file was created by generate_dockerfiles.py. +# Usage: podman build --shm-size=1g -f ./Dockerfile.test_intel-oneapi-hpckit-psmp ../../ +# + +FROM intel/oneapi-hpckit:2025.1.3-0-devel-ubuntu24.04 + +# Install requirements for the toolchain. +WORKDIR /opt/cp2k-toolchain +COPY ./tools/toolchain/install_requirements*.sh ./ +RUN ./install_requirements.sh ubuntu + +# Install the toolchain. +RUN mkdir scripts +COPY ./tools/toolchain/scripts/VERSION \ + ./tools/toolchain/scripts/parse_if.py \ + ./tools/toolchain/scripts/tool_kit.sh \ + ./tools/toolchain/scripts/common_vars.sh \ + ./tools/toolchain/scripts/signal_trap.sh \ + ./tools/toolchain/scripts/get_openblas_arch.sh \ + ./scripts/ +COPY ./tools/toolchain/install_cp2k_toolchain.sh . +RUN ./install_cp2k_toolchain.sh \ + --install-all \ + --with-dbcsr=no \ + --with-ifx=yes \ + --with-intelmpi \ + --with-mkl \ + --with-libsmeagol \ + --with-libtorch=no \ + --with-deepmd=no \ + --dry-run + +# Dry-run leaves behind config files for the followup install scripts. +# This breaks up the lengthy installation into smaller build steps. +COPY ./tools/toolchain/scripts/stage0/ ./scripts/stage0/ +RUN ./scripts/stage0/install_stage0.sh && rm -rf ./build + +COPY ./tools/toolchain/scripts/stage1/ ./scripts/stage1/ +RUN ./scripts/stage1/install_stage1.sh && rm -rf ./build + +COPY ./tools/toolchain/scripts/stage2/ ./scripts/stage2/ +RUN ./scripts/stage2/install_stage2.sh && rm -rf ./build + +COPY ./tools/toolchain/scripts/stage3/ ./scripts/stage3/ +RUN ./scripts/stage3/install_stage3.sh && rm -rf ./build + +COPY ./tools/toolchain/scripts/stage4/ ./scripts/stage4/ +RUN ./scripts/stage4/install_stage4.sh && rm -rf ./build + +COPY ./tools/toolchain/scripts/stage5/ ./scripts/stage5/ +RUN ./scripts/stage5/install_stage5.sh && rm -rf ./build + +COPY ./tools/toolchain/scripts/stage6/ ./scripts/stage6/ +RUN ./scripts/stage6/install_stage6.sh && rm -rf ./build + +COPY ./tools/toolchain/scripts/stage7/ ./scripts/stage7/ +RUN ./scripts/stage7/install_stage7.sh && rm -rf ./build + +COPY ./tools/toolchain/scripts/stage8/ ./scripts/stage8/ +RUN ./scripts/stage8/install_stage8.sh && rm -rf ./build + +COPY ./tools/toolchain/scripts/stage9/ ./scripts/stage9/ +RUN ./scripts/stage9/install_stage9.sh && rm -rf ./build + +COPY ./tools/toolchain/scripts/arch_base.tmpl \ + ./tools/toolchain/scripts/generate_arch_files.sh \ + ./scripts/ +RUN ./scripts/generate_arch_files.sh && rm -rf ./build + +# Install CP2K using local.psmp. +WORKDIR /opt/cp2k +COPY ./Makefile . +COPY ./src ./src +COPY ./exts ./exts +COPY ./tools/build_utils ./tools/build_utils +RUN /bin/bash -c " \ + mkdir -p arch && \ + ln -vs /opt/cp2k-toolchain/install/arch/local.psmp ./arch/" +COPY ./data ./data +COPY ./tests ./tests +COPY ./tools/regtesting ./tools/regtesting + +# Run regression tests. +ARG TESTOPTS="--mpiexec mpiexec" +COPY ./tools/docker/scripts/test_regtest.sh ./ +RUN /bin/bash -o pipefail -c " \ + TESTOPTS='${TESTOPTS}' \ + ./test_regtest.sh 'local' 'psmp' |& tee report.log && \ + rm -rf regtesting" + +# Output the report if the image is old and was therefore pulled from the build cache. +CMD cat $(find ./report.log -mmin +10) | sed '/^Summary:/ s/$/ (cached)/' +ENTRYPOINT [] + +#EOF diff --git a/tools/docker/Dockerfile.test_intel-oneapi-hpckit-ssmp b/tools/docker/Dockerfile.test_intel-oneapi-hpckit-ssmp new file mode 100644 index 0000000000..df736cdfb0 --- /dev/null +++ b/tools/docker/Dockerfile.test_intel-oneapi-hpckit-ssmp @@ -0,0 +1,96 @@ +# +# This file was created by generate_dockerfiles.py. +# Usage: podman build --shm-size=1g -f ./Dockerfile.test_intel-oneapi-hpckit-ssmp ../../ +# + +FROM intel/oneapi-hpckit:2025.1.3-0-devel-ubuntu24.04 + +# Install requirements for the toolchain. +WORKDIR /opt/cp2k-toolchain +COPY ./tools/toolchain/install_requirements*.sh ./ +RUN ./install_requirements.sh ubuntu + +# Install the toolchain. +RUN mkdir scripts +COPY ./tools/toolchain/scripts/VERSION \ + ./tools/toolchain/scripts/parse_if.py \ + ./tools/toolchain/scripts/tool_kit.sh \ + ./tools/toolchain/scripts/common_vars.sh \ + ./tools/toolchain/scripts/signal_trap.sh \ + ./tools/toolchain/scripts/get_openblas_arch.sh \ + ./scripts/ +COPY ./tools/toolchain/install_cp2k_toolchain.sh . +RUN ./install_cp2k_toolchain.sh \ + --install-all \ + --with-dbcsr=no \ + --with-ifx=yes \ + --with-intelmpi \ + --with-mkl \ + --with-libsmeagol \ + --with-libtorch=no \ + --with-deepmd=no \ + --dry-run + +# Dry-run leaves behind config files for the followup install scripts. +# This breaks up the lengthy installation into smaller build steps. +COPY ./tools/toolchain/scripts/stage0/ ./scripts/stage0/ +RUN ./scripts/stage0/install_stage0.sh && rm -rf ./build + +COPY ./tools/toolchain/scripts/stage1/ ./scripts/stage1/ +RUN ./scripts/stage1/install_stage1.sh && rm -rf ./build + +COPY ./tools/toolchain/scripts/stage2/ ./scripts/stage2/ +RUN ./scripts/stage2/install_stage2.sh && rm -rf ./build + +COPY ./tools/toolchain/scripts/stage3/ ./scripts/stage3/ +RUN ./scripts/stage3/install_stage3.sh && rm -rf ./build + +COPY ./tools/toolchain/scripts/stage4/ ./scripts/stage4/ +RUN ./scripts/stage4/install_stage4.sh && rm -rf ./build + +COPY ./tools/toolchain/scripts/stage5/ ./scripts/stage5/ +RUN ./scripts/stage5/install_stage5.sh && rm -rf ./build + +COPY ./tools/toolchain/scripts/stage6/ ./scripts/stage6/ +RUN ./scripts/stage6/install_stage6.sh && rm -rf ./build + +COPY ./tools/toolchain/scripts/stage7/ ./scripts/stage7/ +RUN ./scripts/stage7/install_stage7.sh && rm -rf ./build + +COPY ./tools/toolchain/scripts/stage8/ ./scripts/stage8/ +RUN ./scripts/stage8/install_stage8.sh && rm -rf ./build + +COPY ./tools/toolchain/scripts/stage9/ ./scripts/stage9/ +RUN ./scripts/stage9/install_stage9.sh && rm -rf ./build + +COPY ./tools/toolchain/scripts/arch_base.tmpl \ + ./tools/toolchain/scripts/generate_arch_files.sh \ + ./scripts/ +RUN ./scripts/generate_arch_files.sh && rm -rf ./build + +# Install CP2K using local.ssmp. +WORKDIR /opt/cp2k +COPY ./Makefile . +COPY ./src ./src +COPY ./exts ./exts +COPY ./tools/build_utils ./tools/build_utils +RUN /bin/bash -c " \ + mkdir -p arch && \ + ln -vs /opt/cp2k-toolchain/install/arch/local.ssmp ./arch/" +COPY ./data ./data +COPY ./tests ./tests +COPY ./tools/regtesting ./tools/regtesting + +# Run regression tests. +ARG TESTOPTS="--mpiexec mpiexec" +COPY ./tools/docker/scripts/test_regtest.sh ./ +RUN /bin/bash -o pipefail -c " \ + TESTOPTS='${TESTOPTS}' \ + ./test_regtest.sh 'local' 'ssmp' |& tee report.log && \ + rm -rf regtesting" + +# Output the report if the image is old and was therefore pulled from the build cache. +CMD cat $(find ./report.log -mmin +10) | sed '/^Summary:/ s/$/ (cached)/' +ENTRYPOINT [] + +#EOF diff --git a/tools/docker/Dockerfile.test_intel-psmp b/tools/docker/Dockerfile.test_intel-psmp index 71e5dea65a..831e3a448d 100644 --- a/tools/docker/Dockerfile.test_intel-psmp +++ b/tools/docker/Dockerfile.test_intel-psmp @@ -1,6 +1,6 @@ # # This file was created by generate_dockerfiles.py. -# Usage: podman build -f ./Dockerfile.test_intel-psmp ../../ +# Usage: podman build --shm-size=1g -f ./Dockerfile.test_intel-psmp ../../ # FROM intel/hpckit:2024.2.1-0-devel-ubuntu22.04 @@ -23,6 +23,7 @@ COPY ./tools/toolchain/install_cp2k_toolchain.sh . RUN ./install_cp2k_toolchain.sh \ --install-all \ --with-dbcsr=no \ + --with-ifx=no \ --with-intelmpi \ --with-mkl \ --with-libsmeagol \ diff --git a/tools/docker/Dockerfile.test_intel-ssmp b/tools/docker/Dockerfile.test_intel-ssmp index 7825a86ce5..9e90c9d059 100644 --- a/tools/docker/Dockerfile.test_intel-ssmp +++ b/tools/docker/Dockerfile.test_intel-ssmp @@ -1,6 +1,6 @@ # # This file was created by generate_dockerfiles.py. -# Usage: podman build -f ./Dockerfile.test_intel-ssmp ../../ +# Usage: podman build --shm-size=1g -f ./Dockerfile.test_intel-ssmp ../../ # FROM intel/hpckit:2024.2.1-0-devel-ubuntu22.04 @@ -23,6 +23,7 @@ COPY ./tools/toolchain/install_cp2k_toolchain.sh . RUN ./install_cp2k_toolchain.sh \ --install-all \ --with-dbcsr=no \ + --with-ifx=no \ --with-intelmpi \ --with-mkl \ --with-libsmeagol \ diff --git a/tools/docker/Dockerfile.test_manual b/tools/docker/Dockerfile.test_manual index 968d76e479..d2a0e40599 100644 --- a/tools/docker/Dockerfile.test_manual +++ b/tools/docker/Dockerfile.test_manual @@ -1,6 +1,6 @@ # # This file was created by generate_dockerfiles.py. -# Usage: podman build -f ./Dockerfile.test_manual ../../ +# Usage: podman build --shm-size=1g -f ./Dockerfile.test_manual ../../ # FROM ubuntu:24.04 diff --git a/tools/docker/Dockerfile.test_minimal b/tools/docker/Dockerfile.test_minimal index 7c6af0d7a2..4c3dcb9874 100644 --- a/tools/docker/Dockerfile.test_minimal +++ b/tools/docker/Dockerfile.test_minimal @@ -1,6 +1,6 @@ # # This file was created by generate_dockerfiles.py. -# Usage: podman build -f ./Dockerfile.test_minimal ../../ +# Usage: podman build --shm-size=1g -f ./Dockerfile.test_minimal ../../ # FROM ubuntu:24.04 diff --git a/tools/docker/Dockerfile.test_misc b/tools/docker/Dockerfile.test_misc index 53f055e490..d104d61dba 100644 --- a/tools/docker/Dockerfile.test_misc +++ b/tools/docker/Dockerfile.test_misc @@ -1,6 +1,6 @@ # # This file was created by generate_dockerfiles.py. -# Usage: podman build -f ./Dockerfile.test_misc ../../ +# Usage: podman build --shm-size=1g -f ./Dockerfile.test_misc ../../ # FROM ubuntu:24.04 diff --git a/tools/docker/Dockerfile.test_nvhpc b/tools/docker/Dockerfile.test_nvhpc index 9488b36cb4..61bef18740 100644 --- a/tools/docker/Dockerfile.test_nvhpc +++ b/tools/docker/Dockerfile.test_nvhpc @@ -1,6 +1,6 @@ # # This file was created by generate_dockerfiles.py. -# Usage: podman build -f ./Dockerfile.test_nvhpc ../../ +# Usage: podman build --shm-size=1g -f ./Dockerfile.test_nvhpc ../../ # FROM ubuntu:22.04 diff --git a/tools/docker/Dockerfile.test_openmpi-psmp b/tools/docker/Dockerfile.test_openmpi-psmp index d3bb35d2b3..bdf1280020 100644 --- a/tools/docker/Dockerfile.test_openmpi-psmp +++ b/tools/docker/Dockerfile.test_openmpi-psmp @@ -1,6 +1,6 @@ # # This file was created by generate_dockerfiles.py. -# Usage: podman build -f ./Dockerfile.test_openmpi-psmp ../../ +# Usage: podman build --shm-size=1g -f ./Dockerfile.test_openmpi-psmp ../../ # FROM ubuntu:24.04 diff --git a/tools/docker/Dockerfile.test_pdbg b/tools/docker/Dockerfile.test_pdbg index 68c236fe86..64c36cc114 100644 --- a/tools/docker/Dockerfile.test_pdbg +++ b/tools/docker/Dockerfile.test_pdbg @@ -1,6 +1,6 @@ # # This file was created by generate_dockerfiles.py. -# Usage: podman build -f ./Dockerfile.test_pdbg ../../ +# Usage: podman build --shm-size=1g -f ./Dockerfile.test_pdbg ../../ # FROM ubuntu:24.04 diff --git a/tools/docker/Dockerfile.test_performance b/tools/docker/Dockerfile.test_performance index 583fd2b687..9f9070c1a2 100644 --- a/tools/docker/Dockerfile.test_performance +++ b/tools/docker/Dockerfile.test_performance @@ -1,6 +1,6 @@ # # This file was created by generate_dockerfiles.py. -# Usage: podman build -f ./Dockerfile.test_performance ../../ +# Usage: podman build --shm-size=1g -f ./Dockerfile.test_performance ../../ # FROM ubuntu:24.04 diff --git a/tools/docker/Dockerfile.test_performance_cuda_A100 b/tools/docker/Dockerfile.test_performance_cuda_A100 index 73de5d6d4e..0ee734e82e 100644 --- a/tools/docker/Dockerfile.test_performance_cuda_A100 +++ b/tools/docker/Dockerfile.test_performance_cuda_A100 @@ -1,6 +1,6 @@ # # This file was created by generate_dockerfiles.py. -# Usage: podman build -f ./Dockerfile.test_performance_cuda_A100 ../../ +# Usage: podman build --shm-size=1g -f ./Dockerfile.test_performance_cuda_A100 ../../ # FROM nvidia/cuda:11.8.0-devel-ubuntu22.04 diff --git a/tools/docker/Dockerfile.test_performance_cuda_P100 b/tools/docker/Dockerfile.test_performance_cuda_P100 index 56e8c402f0..14e4caa391 100644 --- a/tools/docker/Dockerfile.test_performance_cuda_P100 +++ b/tools/docker/Dockerfile.test_performance_cuda_P100 @@ -1,6 +1,6 @@ # # This file was created by generate_dockerfiles.py. -# Usage: podman build -f ./Dockerfile.test_performance_cuda_P100 ../../ +# Usage: podman build --shm-size=1g -f ./Dockerfile.test_performance_cuda_P100 ../../ # FROM nvidia/cuda:11.8.0-devel-ubuntu22.04 diff --git a/tools/docker/Dockerfile.test_performance_cuda_V100 b/tools/docker/Dockerfile.test_performance_cuda_V100 index 74e9fe7f93..83acb70b95 100644 --- a/tools/docker/Dockerfile.test_performance_cuda_V100 +++ b/tools/docker/Dockerfile.test_performance_cuda_V100 @@ -1,6 +1,6 @@ # # This file was created by generate_dockerfiles.py. -# Usage: podman build -f ./Dockerfile.test_performance_cuda_V100 ../../ +# Usage: podman build --shm-size=1g -f ./Dockerfile.test_performance_cuda_V100 ../../ # FROM nvidia/cuda:11.8.0-devel-ubuntu22.04 diff --git a/tools/docker/Dockerfile.test_precommit b/tools/docker/Dockerfile.test_precommit index 2144fe34d3..32ee2ba76b 100644 --- a/tools/docker/Dockerfile.test_precommit +++ b/tools/docker/Dockerfile.test_precommit @@ -1,6 +1,6 @@ # # This file was created by generate_dockerfiles.py. -# Usage: podman build -f ./Dockerfile.test_precommit ../../ +# Usage: podman build --shm-size=1g -f ./Dockerfile.test_precommit ../../ # FROM ubuntu:24.04 diff --git a/tools/docker/Dockerfile.test_psmp b/tools/docker/Dockerfile.test_psmp index 03d7540904..4908ead35e 100644 --- a/tools/docker/Dockerfile.test_psmp +++ b/tools/docker/Dockerfile.test_psmp @@ -1,6 +1,6 @@ # # This file was created by generate_dockerfiles.py. -# Usage: podman build -f ./Dockerfile.test_psmp ../../ +# Usage: podman build --shm-size=1g -f ./Dockerfile.test_psmp ../../ # FROM ubuntu:24.04 diff --git a/tools/docker/Dockerfile.test_sdbg b/tools/docker/Dockerfile.test_sdbg index 6e61a2f99e..3c16b7e9fb 100644 --- a/tools/docker/Dockerfile.test_sdbg +++ b/tools/docker/Dockerfile.test_sdbg @@ -1,6 +1,6 @@ # # This file was created by generate_dockerfiles.py. -# Usage: podman build -f ./Dockerfile.test_sdbg ../../ +# Usage: podman build --shm-size=1g -f ./Dockerfile.test_sdbg ../../ # FROM ubuntu:24.04 diff --git a/tools/docker/Dockerfile.test_spack b/tools/docker/Dockerfile.test_spack index c04fea47b2..41b5189354 100644 --- a/tools/docker/Dockerfile.test_spack +++ b/tools/docker/Dockerfile.test_spack @@ -1,6 +1,6 @@ # # This file was created by generate_dockerfiles.py. -# Usage: podman build -f ./Dockerfile.test_spack ../../ +# Usage: podman build --shm-size=1g -f ./Dockerfile.test_spack ../../ # FROM ubuntu:24.04 diff --git a/tools/docker/Dockerfile.test_ssmp b/tools/docker/Dockerfile.test_ssmp index c7536affd5..9e16f6a8c5 100644 --- a/tools/docker/Dockerfile.test_ssmp +++ b/tools/docker/Dockerfile.test_ssmp @@ -1,6 +1,6 @@ # # This file was created by generate_dockerfiles.py. -# Usage: podman build -f ./Dockerfile.test_ssmp ../../ +# Usage: podman build --shm-size=1g -f ./Dockerfile.test_ssmp ../../ # FROM ubuntu:24.04 diff --git a/tools/docker/generate_dockerfiles.py b/tools/docker/generate_dockerfiles.py index 9b12038177..64b6e707b1 100755 --- a/tools/docker/generate_dockerfiles.py +++ b/tools/docker/generate_dockerfiles.py @@ -38,7 +38,22 @@ def main() -> None: for version in "ssmp", "psmp": with OutputFile(f"Dockerfile.test_intel-{version}", args.check) as f: - f.write(install_deps_toolchain_intel()) + f.write( + install_deps_toolchain_intel( + base_image="intel/hpckit:2024.2.1-0-devel-ubuntu22.04", + with_ifx="no", + ) + ) + f.write(regtest(version, intel=True, testopts="--mpiexec mpiexec")) + with OutputFile( + f"Dockerfile.test_intel-oneapi-hpckit-{version}", args.check + ) as f: + f.write( + install_deps_toolchain_intel( + base_image="intel/oneapi-hpckit:2025.1.3-0-devel-ubuntu24.04", + with_ifx="yes", + ) + ) f.write(regtest(version, intel=True, testopts="--mpiexec mpiexec")) with OutputFile(f"Dockerfile.test_nvhpc", args.check) as f: @@ -523,14 +538,18 @@ RUN ln -sf /usr/bin/gcc-{gcc_version} /usr/local/bin/gcc && \ # ====================================================================================== -def install_deps_toolchain_intel() -> str: +def install_deps_toolchain_intel( + base_image: str = "intel/hpckit:2024.2.1-0-devel-ubuntu22.04", + with_ifx: str = "no", +) -> str: return rf""" -FROM intel/hpckit:2024.2.1-0-devel-ubuntu22.04 +FROM {base_image} """ + install_toolchain( base_image="ubuntu", install_all="", with_dbcsr="no", + with_ifx=with_ifx, with_intelmpi="", with_mkl="", with_libsmeagol="", @@ -919,7 +938,9 @@ class OutputFile: self.content = io.StringIO() self.content.write(f"#\n") self.content.write(f"# This file was created by generate_dockerfiles.py.\n") - self.content.write(f"# Usage: podman build -f ./{filename} ../../\n") + self.content.write( + f"# Usage: podman build --shm-size=1g -f ./{filename} ../../\n" + ) self.content.write(f"#\n") def __enter__(self) -> io.StringIO: