From eaadeeb9d323eea99f1766f83c063e72922f96cc Mon Sep 17 00:00:00 2001 From: Matthias Krack Date: Mon, 16 Feb 2026 14:54:34 +0100 Subject: [PATCH] Enable OpenPMD explicitly (not done by default) --- .../docker/Dockerfile.test_spack_openmpi-psmp | 4 +-- tools/docker/Dockerfile.test_spack_psmp | 4 +-- tools/docker/Dockerfile.test_spack_psmp-4x2 | 4 +-- tools/docker/Dockerfile.test_spack_psmp-P100 | 4 +-- .../docker/Dockerfile.test_spack_psmp-fedora | 4 +-- tools/docker/Dockerfile.test_spack_psmp-gcc10 | 4 +-- tools/docker/Dockerfile.test_spack_psmp-gcc11 | 4 +-- tools/docker/Dockerfile.test_spack_psmp-gcc12 | 4 +-- tools/docker/Dockerfile.test_spack_psmp-gcc14 | 4 +-- tools/docker/Dockerfile.test_spack_psmp-gcc15 | 4 +-- .../Dockerfile.test_spack_psmp-opensuse | 4 +-- .../docker/Dockerfile.test_spack_psmp-rawhide | 4 +-- tools/docker/Dockerfile.test_spack_ssmp | 4 +-- tools/docker/Dockerfile.test_spack_ssmp-P100 | 4 +-- .../docker/Dockerfile.test_spack_ssmp-rawhide | 4 +-- .../docker/Dockerfile.test_spack_ssmp-static | 4 +-- tools/docker/generate_dockerfiles.py | 30 +++++++++++++++---- 17 files changed, 56 insertions(+), 38 deletions(-) diff --git a/tools/docker/Dockerfile.test_spack_openmpi-psmp b/tools/docker/Dockerfile.test_spack_openmpi-psmp index e3120f2ad8..705650fd7f 100644 --- a/tools/docker/Dockerfile.test_spack_openmpi-psmp +++ b/tools/docker/Dockerfile.test_spack_openmpi-psmp @@ -44,10 +44,10 @@ COPY . cp2k/ # Build CP2K dependencies WORKDIR /opt/cp2k -RUN ./make_cp2k.sh -bd_only -cv psmp -gpu none -gv 13 -mpi openmpi -ue +RUN ./make_cp2k.sh -bd_only -cv psmp -gpu none -gv 13 -mpi openmpi -ue -ef openpmd # Build and install CP2K -RUN ./make_cp2k.sh -cv psmp -gv 13 -gpu none -mpi openmpi +RUN ./make_cp2k.sh -cv psmp -gv 13 -gpu none -mpi openmpi -ef openpmd ###### Stage 2: Install CP2K ###### diff --git a/tools/docker/Dockerfile.test_spack_psmp b/tools/docker/Dockerfile.test_spack_psmp index b13cacaae6..bdade2a9a1 100644 --- a/tools/docker/Dockerfile.test_spack_psmp +++ b/tools/docker/Dockerfile.test_spack_psmp @@ -44,10 +44,10 @@ COPY . cp2k/ # Build CP2K dependencies WORKDIR /opt/cp2k -RUN ./make_cp2k.sh -bd_only -cv psmp -gpu none -gv 13 -mpi mpich -ue +RUN ./make_cp2k.sh -bd_only -cv psmp -gpu none -gv 13 -mpi mpich -ue -ef openpmd # Build and install CP2K -RUN ./make_cp2k.sh -cv psmp -gv 13 -gpu none -mpi mpich +RUN ./make_cp2k.sh -cv psmp -gv 13 -gpu none -mpi mpich -ef openpmd ###### Stage 2: Install CP2K ###### diff --git a/tools/docker/Dockerfile.test_spack_psmp-4x2 b/tools/docker/Dockerfile.test_spack_psmp-4x2 index 2573c6fb32..359622969d 100644 --- a/tools/docker/Dockerfile.test_spack_psmp-4x2 +++ b/tools/docker/Dockerfile.test_spack_psmp-4x2 @@ -44,10 +44,10 @@ COPY . cp2k/ # Build CP2K dependencies WORKDIR /opt/cp2k -RUN ./make_cp2k.sh -bd_only -cv psmp -gpu none -gv 13 -mpi mpich -ue +RUN ./make_cp2k.sh -bd_only -cv psmp -gpu none -gv 13 -mpi mpich -ue -ef openpmd # Build and install CP2K -RUN ./make_cp2k.sh -cv psmp -gv 13 -gpu none -mpi mpich +RUN ./make_cp2k.sh -cv psmp -gv 13 -gpu none -mpi mpich -ef openpmd ###### Stage 2: Install CP2K ###### diff --git a/tools/docker/Dockerfile.test_spack_psmp-P100 b/tools/docker/Dockerfile.test_spack_psmp-P100 index 842681d2ed..f6ff15f9d1 100644 --- a/tools/docker/Dockerfile.test_spack_psmp-P100 +++ b/tools/docker/Dockerfile.test_spack_psmp-P100 @@ -47,10 +47,10 @@ COPY . cp2k/ # Build CP2K dependencies WORKDIR /opt/cp2k -RUN ./make_cp2k.sh -bd_only -cv psmp -gpu P100 -gv 13 -mpi mpich -ue +RUN ./make_cp2k.sh -bd_only -cv psmp -gpu P100 -gv 13 -mpi mpich -ue -ef openpmd # Build and install CP2K -RUN ./make_cp2k.sh -cv psmp -gv 13 -gpu P100 -mpi mpich +RUN ./make_cp2k.sh -cv psmp -gv 13 -gpu P100 -mpi mpich -ef openpmd ###### Stage 2: Install CP2K ###### diff --git a/tools/docker/Dockerfile.test_spack_psmp-fedora b/tools/docker/Dockerfile.test_spack_psmp-fedora index 6ae3fd71de..f56fd2362e 100644 --- a/tools/docker/Dockerfile.test_spack_psmp-fedora +++ b/tools/docker/Dockerfile.test_spack_psmp-fedora @@ -35,10 +35,10 @@ COPY . cp2k/ # Build CP2K dependencies WORKDIR /opt/cp2k -RUN ./make_cp2k.sh -bd_only -cv psmp -gpu none -gv 15 -mpi mpich -ue +RUN ./make_cp2k.sh -bd_only -cv psmp -gpu none -gv 15 -mpi mpich -ue -ef openpmd # Build and install CP2K -RUN ./make_cp2k.sh -cv psmp -gv 15 -gpu none -mpi mpich +RUN ./make_cp2k.sh -cv psmp -gv 15 -gpu none -mpi mpich -ef openpmd ###### Stage 2: Install CP2K ###### diff --git a/tools/docker/Dockerfile.test_spack_psmp-gcc10 b/tools/docker/Dockerfile.test_spack_psmp-gcc10 index 00fae4302b..71dec111fd 100644 --- a/tools/docker/Dockerfile.test_spack_psmp-gcc10 +++ b/tools/docker/Dockerfile.test_spack_psmp-gcc10 @@ -44,10 +44,10 @@ COPY . cp2k/ # Build CP2K dependencies WORKDIR /opt/cp2k -RUN ./make_cp2k.sh -bd_only -cv psmp -gpu none -gv 10 -mpi mpich -ue +RUN ./make_cp2k.sh -bd_only -cv psmp -gpu none -gv 10 -mpi mpich -ue -ef openpmd # Build and install CP2K -RUN ./make_cp2k.sh -cv psmp -gv 10 -gpu none -mpi mpich +RUN ./make_cp2k.sh -cv psmp -gv 10 -gpu none -mpi mpich -ef openpmd ###### Stage 2: Install CP2K ###### diff --git a/tools/docker/Dockerfile.test_spack_psmp-gcc11 b/tools/docker/Dockerfile.test_spack_psmp-gcc11 index e931a68e0f..116369b556 100644 --- a/tools/docker/Dockerfile.test_spack_psmp-gcc11 +++ b/tools/docker/Dockerfile.test_spack_psmp-gcc11 @@ -44,10 +44,10 @@ COPY . cp2k/ # Build CP2K dependencies WORKDIR /opt/cp2k -RUN ./make_cp2k.sh -bd_only -cv psmp -gpu none -gv 11 -mpi mpich -ue +RUN ./make_cp2k.sh -bd_only -cv psmp -gpu none -gv 11 -mpi mpich -ue -ef openpmd # Build and install CP2K -RUN ./make_cp2k.sh -cv psmp -gv 11 -gpu none -mpi mpich +RUN ./make_cp2k.sh -cv psmp -gv 11 -gpu none -mpi mpich -ef openpmd ###### Stage 2: Install CP2K ###### diff --git a/tools/docker/Dockerfile.test_spack_psmp-gcc12 b/tools/docker/Dockerfile.test_spack_psmp-gcc12 index 782a12b259..d009a94214 100644 --- a/tools/docker/Dockerfile.test_spack_psmp-gcc12 +++ b/tools/docker/Dockerfile.test_spack_psmp-gcc12 @@ -44,10 +44,10 @@ COPY . cp2k/ # Build CP2K dependencies WORKDIR /opt/cp2k -RUN ./make_cp2k.sh -bd_only -cv psmp -gpu none -gv 12 -mpi mpich -ue +RUN ./make_cp2k.sh -bd_only -cv psmp -gpu none -gv 12 -mpi mpich -ue -ef openpmd # Build and install CP2K -RUN ./make_cp2k.sh -cv psmp -gv 12 -gpu none -mpi mpich +RUN ./make_cp2k.sh -cv psmp -gv 12 -gpu none -mpi mpich -ef openpmd ###### Stage 2: Install CP2K ###### diff --git a/tools/docker/Dockerfile.test_spack_psmp-gcc14 b/tools/docker/Dockerfile.test_spack_psmp-gcc14 index 78abdbe655..e95f3771fb 100644 --- a/tools/docker/Dockerfile.test_spack_psmp-gcc14 +++ b/tools/docker/Dockerfile.test_spack_psmp-gcc14 @@ -44,10 +44,10 @@ COPY . cp2k/ # Build CP2K dependencies WORKDIR /opt/cp2k -RUN ./make_cp2k.sh -bd_only -cv psmp -gpu none -gv 14 -mpi mpich -ue +RUN ./make_cp2k.sh -bd_only -cv psmp -gpu none -gv 14 -mpi mpich -ue -ef openpmd # Build and install CP2K -RUN ./make_cp2k.sh -cv psmp -gv 14 -gpu none -mpi mpich +RUN ./make_cp2k.sh -cv psmp -gv 14 -gpu none -mpi mpich -ef openpmd ###### Stage 2: Install CP2K ###### diff --git a/tools/docker/Dockerfile.test_spack_psmp-gcc15 b/tools/docker/Dockerfile.test_spack_psmp-gcc15 index bb14ab2c08..9d375b14a8 100644 --- a/tools/docker/Dockerfile.test_spack_psmp-gcc15 +++ b/tools/docker/Dockerfile.test_spack_psmp-gcc15 @@ -44,10 +44,10 @@ COPY . cp2k/ # Build CP2K dependencies WORKDIR /opt/cp2k -RUN ./make_cp2k.sh -bd_only -cv psmp -gpu none -gv 15 -mpi mpich -ue +RUN ./make_cp2k.sh -bd_only -cv psmp -gpu none -gv 15 -mpi mpich -ue -ef openpmd # Build and install CP2K -RUN ./make_cp2k.sh -cv psmp -gv 15 -gpu none -mpi mpich +RUN ./make_cp2k.sh -cv psmp -gv 15 -gpu none -mpi mpich -ef openpmd ###### Stage 2: Install CP2K ###### diff --git a/tools/docker/Dockerfile.test_spack_psmp-opensuse b/tools/docker/Dockerfile.test_spack_psmp-opensuse index 48eff4ca9b..9cb7bd57c4 100644 --- a/tools/docker/Dockerfile.test_spack_psmp-opensuse +++ b/tools/docker/Dockerfile.test_spack_psmp-opensuse @@ -42,10 +42,10 @@ COPY . cp2k/ # Build CP2K dependencies WORKDIR /opt/cp2k -RUN ./make_cp2k.sh -bd_only -cv psmp -gpu none -gv 14 -mpi mpich -ue +RUN ./make_cp2k.sh -bd_only -cv psmp -gpu none -gv 14 -mpi mpich -ue -ef openpmd # Build and install CP2K -RUN ./make_cp2k.sh -cv psmp -gv 14 -gpu none -mpi mpich +RUN ./make_cp2k.sh -cv psmp -gv 14 -gpu none -mpi mpich -ef openpmd ###### Stage 2: Install CP2K ###### diff --git a/tools/docker/Dockerfile.test_spack_psmp-rawhide b/tools/docker/Dockerfile.test_spack_psmp-rawhide index 1a9f8fb946..399bea1758 100644 --- a/tools/docker/Dockerfile.test_spack_psmp-rawhide +++ b/tools/docker/Dockerfile.test_spack_psmp-rawhide @@ -35,10 +35,10 @@ COPY . cp2k/ # Build CP2K dependencies WORKDIR /opt/cp2k -RUN ./make_cp2k.sh -bd_only -cv psmp -gpu none -gv 16 -mpi mpich -ue +RUN ./make_cp2k.sh -bd_only -cv psmp -gpu none -gv 16 -mpi mpich -ue -ef openpmd # Build and install CP2K -RUN ./make_cp2k.sh -cv psmp -gv 16 -gpu none -mpi mpich +RUN ./make_cp2k.sh -cv psmp -gv 16 -gpu none -mpi mpich -ef openpmd ###### Stage 2: Install CP2K ###### diff --git a/tools/docker/Dockerfile.test_spack_ssmp b/tools/docker/Dockerfile.test_spack_ssmp index b1af2f64e2..42bbee2739 100644 --- a/tools/docker/Dockerfile.test_spack_ssmp +++ b/tools/docker/Dockerfile.test_spack_ssmp @@ -44,10 +44,10 @@ COPY . cp2k/ # Build CP2K dependencies WORKDIR /opt/cp2k -RUN ./make_cp2k.sh -bd_only -cv ssmp -gpu none -gv 13 -mpi no -ue +RUN ./make_cp2k.sh -bd_only -cv ssmp -gpu none -gv 13 -mpi no -ue # Build and install CP2K -RUN ./make_cp2k.sh -cv ssmp -gv 13 -gpu none -mpi no +RUN ./make_cp2k.sh -cv ssmp -gv 13 -gpu none -mpi no ###### Stage 2: Install CP2K ###### diff --git a/tools/docker/Dockerfile.test_spack_ssmp-P100 b/tools/docker/Dockerfile.test_spack_ssmp-P100 index a05737a835..970c9b937d 100644 --- a/tools/docker/Dockerfile.test_spack_ssmp-P100 +++ b/tools/docker/Dockerfile.test_spack_ssmp-P100 @@ -47,10 +47,10 @@ COPY . cp2k/ # Build CP2K dependencies WORKDIR /opt/cp2k -RUN ./make_cp2k.sh -bd_only -cv ssmp -gpu P100 -gv 13 -mpi no -ue +RUN ./make_cp2k.sh -bd_only -cv ssmp -gpu P100 -gv 13 -mpi no -ue # Build and install CP2K -RUN ./make_cp2k.sh -cv ssmp -gv 13 -gpu P100 -mpi no +RUN ./make_cp2k.sh -cv ssmp -gv 13 -gpu P100 -mpi no ###### Stage 2: Install CP2K ###### diff --git a/tools/docker/Dockerfile.test_spack_ssmp-rawhide b/tools/docker/Dockerfile.test_spack_ssmp-rawhide index b85477e89f..f31f67ee25 100644 --- a/tools/docker/Dockerfile.test_spack_ssmp-rawhide +++ b/tools/docker/Dockerfile.test_spack_ssmp-rawhide @@ -35,10 +35,10 @@ COPY . cp2k/ # Build CP2K dependencies WORKDIR /opt/cp2k -RUN ./make_cp2k.sh -bd_only -cv ssmp -gpu none -gv 16 -mpi no -ue +RUN ./make_cp2k.sh -bd_only -cv ssmp -gpu none -gv 16 -mpi no -ue # Build and install CP2K -RUN ./make_cp2k.sh -cv ssmp -gv 16 -gpu none -mpi no +RUN ./make_cp2k.sh -cv ssmp -gv 16 -gpu none -mpi no ###### Stage 2: Install CP2K ###### diff --git a/tools/docker/Dockerfile.test_spack_ssmp-static b/tools/docker/Dockerfile.test_spack_ssmp-static index a33558299e..90da9067b5 100644 --- a/tools/docker/Dockerfile.test_spack_ssmp-static +++ b/tools/docker/Dockerfile.test_spack_ssmp-static @@ -44,10 +44,10 @@ COPY . cp2k/ # Build CP2K dependencies WORKDIR /opt/cp2k -RUN ./make_cp2k.sh -bd_only -cv ssmp-static -gpu none -gv 14 -mpi no +RUN ./make_cp2k.sh -bd_only -cv ssmp-static -gpu none -gv 14 -mpi no # Build and install CP2K -RUN ./make_cp2k.sh -cv ssmp-static -gv 14 -gpu none -mpi no +RUN ./make_cp2k.sh -cv ssmp-static -gv 14 -gpu none -mpi no ###### Stage 2: Install CP2K ###### diff --git a/tools/docker/generate_dockerfiles.py b/tools/docker/generate_dockerfiles.py index 2c6f5f08ed..ea6f1c7454 100755 --- a/tools/docker/generate_dockerfiles.py +++ b/tools/docker/generate_dockerfiles.py @@ -56,14 +56,21 @@ def main() -> None: # Spack/CMake based testers with OutputFile(f"Dockerfile.test_spack_psmp", args.check) as f: - f.write(install_cp2k_spack("psmp", mpi_mode="mpich")) + f.write( + install_cp2k_spack("psmp", mpi_mode="mpich", feature_flags="-ef openpmd") + ) for gcc_version in 10, 11, 12, 14, 15: with OutputFile( f"Dockerfile.test_spack_psmp-gcc{gcc_version}", args.check ) as f: f.write( - install_cp2k_spack("psmp", mpi_mode="mpich", gcc_version=gcc_version) + install_cp2k_spack( + "psmp", + mpi_mode="mpich", + gcc_version=gcc_version, + feature_flags="-ef openpmd", + ) ) with OutputFile(f"Dockerfile.test_spack_ssmp-rawhide", args.check) as f: @@ -83,6 +90,7 @@ def main() -> None: mpi_mode="mpich", base_image="fedora:rawhide", gcc_version=16, + feature_flags="-ef openpmd", ) ) @@ -93,6 +101,7 @@ def main() -> None: mpi_mode="mpich", base_image="fedora:latest", gcc_version=15, + feature_flags="-ef openpmd", ) ) @@ -103,15 +112,22 @@ def main() -> None: mpi_mode="mpich", base_image="opensuse/leap:15.6", gcc_version=14, + feature_flags="-ef openpmd", ) ) with OutputFile(f"Dockerfile.test_spack_psmp-4x2", args.check) as f: testopts = f"--mpiranks=4 --ompthreads=2" - f.write(install_cp2k_spack("psmp", mpi_mode="mpich", testopts=testopts)) + f.write( + install_cp2k_spack( + "psmp", mpi_mode="mpich", testopts=testopts, feature_flags="-ef openpmd" + ) + ) with OutputFile(f"Dockerfile.test_spack_openmpi-psmp", args.check) as f: - f.write(install_cp2k_spack("psmp", mpi_mode="openmpi")) + f.write( + install_cp2k_spack("psmp", mpi_mode="openmpi", feature_flags="-ef openpmd") + ) with OutputFile(f"Dockerfile.test_spack_ssmp", args.check) as f: f.write(install_cp2k_spack("ssmp", mpi_mode="no")) @@ -139,6 +155,7 @@ def main() -> None: base_image="docker.io/nvidia/cuda:12.9.1-devel-ubuntu24.04", gcc_version=13, gpu_model="P100", + feature_flags="-ef openpmd", testopts="--keepalive", ) ) @@ -636,6 +653,7 @@ def install_cp2k_spack( base_image: str = "ubuntu:24.04", gcc_version: int = 13, gpu_model: str = "none", + feature_flags: str = "", testopts: str = "", ) -> str: # Ubuntu 24.04 provides no gcc-15 package whereas GCC 15 is the default for fedora:43 @@ -669,10 +687,10 @@ COPY . cp2k/ # Build CP2K dependencies WORKDIR /opt/cp2k -RUN ./make_cp2k.sh -bd_only -cv {version} -gpu {gpu_model} -gv {gcc_version} -mpi {mpi_mode} {use_externals} +RUN ./make_cp2k.sh -bd_only -cv {version} -gpu {gpu_model} -gv {gcc_version} -mpi {mpi_mode} {use_externals} {feature_flags} # Build and install CP2K -RUN ./make_cp2k.sh -cv {version} -gv {gcc_version} -gpu {gpu_model} -mpi {mpi_mode} +RUN ./make_cp2k.sh -cv {version} -gv {gcc_version} -gpu {gpu_model} -mpi {mpi_mode} {feature_flags} """ ) output += (