From 18c06d4cfc962ce4295a71eef98bc35f190bd7ce Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Franz=20P=C3=B6schel?= Date: Mon, 24 Mar 2025 14:25:51 +0100 Subject: [PATCH 1/8] Revert "CI: Disable MPICH for now" This reverts commit de9e7ad02944e91206bea3a603b4d0ea10771d21. --- .github/workflows/linux.yml | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/.github/workflows/linux.yml b/.github/workflows/linux.yml index 7b5bf898c5..0e4f9cbe87 100644 --- a/.github/workflows/linux.yml +++ b/.github/workflows/linux.yml @@ -162,9 +162,7 @@ jobs: # ADIOS2 v2.10 gcc13_py312_mpich_h5_ad2: runs-on: ubuntu-24.04 - # disabled because of unclear runtime issues - if: 0 - #if: github.event.pull_request.draft == false + if: github.event.pull_request.draft == false steps: - uses: actions/checkout@v4 - name: Spack Cache From 33b847fe7a5f6e81db76eb4fe4c2ec5c156c4001 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Franz=20P=C3=B6schel?= Date: Mon, 24 Mar 2025 17:50:01 +0100 Subject: [PATCH 2/8] We shall try installin MPICH from Spack for now Ubuntu package broken https://bugs.launchpad.net/ubuntu/+source/mpich/+bug/2072338 --- .github/ci/spack-envs/gcc13_py312_mpich_h5_ad2/spack.yaml | 5 ----- .github/workflows/linux.yml | 7 ++++--- 2 files changed, 4 insertions(+), 8 deletions(-) diff --git a/.github/ci/spack-envs/gcc13_py312_mpich_h5_ad2/spack.yaml b/.github/ci/spack-envs/gcc13_py312_mpich_h5_ad2/spack.yaml index fc1235b7f5..0dda2dfae0 100644 --- a/.github/ci/spack-envs/gcc13_py312_mpich_h5_ad2/spack.yaml +++ b/.github/ci/spack-envs/gcc13_py312_mpich_h5_ad2/spack.yaml @@ -20,11 +20,6 @@ spack: buildable: False hdf5: variants: +mpi - mpich: - externals: - - spec: mpich@4.2.0 - prefix: /usr - buildable: False perl: externals: - spec: perl@5.38.2 diff --git a/.github/workflows/linux.yml b/.github/workflows/linux.yml index 0e4f9cbe87..e14a9445eb 100644 --- a/.github/workflows/linux.yml +++ b/.github/workflows/linux.yml @@ -172,19 +172,20 @@ jobs: run: | sudo apt-get update sudo apt-get remove openmpi* libopenmpi* *hdf5* || true - sudo apt-get install g++ gfortran libmpich-dev mpich python3 + sudo apt-get install g++ gfortran python3 sudo .github/workflows/dependencies/install_spack - name: Build env: {CC: gcc, CXX: g++, MPICH_CC: gcc, MPICH_CXX: g++, CXXFLAGS: -Werror} run: | cmake --version - mpiexec --version - mpicxx --version perl --version python --version eval $(spack env activate --sh .github/ci/spack-envs/gcc13_py312_mpich_h5_ad2/) spack install + mpiexec --version + mpicxx --version + share/openPMD/download_samples.sh build cmake -S . -B build \ -DopenPMD_USE_PYTHON=OFF \ From b22e4b32970975992ec888dd65f01a9ba09b13c6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Franz=20P=C3=B6schel?= Date: Mon, 24 Mar 2025 18:01:00 +0100 Subject: [PATCH 3/8] Take out version checks --- .github/workflows/linux.yml | 3 --- 1 file changed, 3 deletions(-) diff --git a/.github/workflows/linux.yml b/.github/workflows/linux.yml index e14a9445eb..c4132a8033 100644 --- a/.github/workflows/linux.yml +++ b/.github/workflows/linux.yml @@ -183,9 +183,6 @@ jobs: eval $(spack env activate --sh .github/ci/spack-envs/gcc13_py312_mpich_h5_ad2/) spack install - mpiexec --version - mpicxx --version - share/openPMD/download_samples.sh build cmake -S . -B build \ -DopenPMD_USE_PYTHON=OFF \ From 2472b2310be7a462c5b325819440974df3cd0fc6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Franz=20P=C3=B6schel?= Date: Mon, 24 Mar 2025 18:11:12 +0100 Subject: [PATCH 4/8] Revert "Take out version checks" This reverts commit b22e4b32970975992ec888dd65f01a9ba09b13c6. --- .github/workflows/linux.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/linux.yml b/.github/workflows/linux.yml index c4132a8033..e14a9445eb 100644 --- a/.github/workflows/linux.yml +++ b/.github/workflows/linux.yml @@ -183,6 +183,9 @@ jobs: eval $(spack env activate --sh .github/ci/spack-envs/gcc13_py312_mpich_h5_ad2/) spack install + mpiexec --version + mpicxx --version + share/openPMD/download_samples.sh build cmake -S . -B build \ -DopenPMD_USE_PYTHON=OFF \ From 4ad4757cda21a18f8937f790cd64c1ae2c58666e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Franz=20P=C3=B6schel?= Date: Mon, 24 Mar 2025 18:11:49 +0100 Subject: [PATCH 5/8] Revert "We shall try installin MPICH from Spack for now" This reverts commit 33b847fe7a5f6e81db76eb4fe4c2ec5c156c4001. --- .github/ci/spack-envs/gcc13_py312_mpich_h5_ad2/spack.yaml | 5 +++++ .github/workflows/linux.yml | 7 +++---- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/.github/ci/spack-envs/gcc13_py312_mpich_h5_ad2/spack.yaml b/.github/ci/spack-envs/gcc13_py312_mpich_h5_ad2/spack.yaml index 0dda2dfae0..fc1235b7f5 100644 --- a/.github/ci/spack-envs/gcc13_py312_mpich_h5_ad2/spack.yaml +++ b/.github/ci/spack-envs/gcc13_py312_mpich_h5_ad2/spack.yaml @@ -20,6 +20,11 @@ spack: buildable: False hdf5: variants: +mpi + mpich: + externals: + - spec: mpich@4.2.0 + prefix: /usr + buildable: False perl: externals: - spec: perl@5.38.2 diff --git a/.github/workflows/linux.yml b/.github/workflows/linux.yml index e14a9445eb..0e4f9cbe87 100644 --- a/.github/workflows/linux.yml +++ b/.github/workflows/linux.yml @@ -172,20 +172,19 @@ jobs: run: | sudo apt-get update sudo apt-get remove openmpi* libopenmpi* *hdf5* || true - sudo apt-get install g++ gfortran python3 + sudo apt-get install g++ gfortran libmpich-dev mpich python3 sudo .github/workflows/dependencies/install_spack - name: Build env: {CC: gcc, CXX: g++, MPICH_CC: gcc, MPICH_CXX: g++, CXXFLAGS: -Werror} run: | cmake --version + mpiexec --version + mpicxx --version perl --version python --version eval $(spack env activate --sh .github/ci/spack-envs/gcc13_py312_mpich_h5_ad2/) spack install - mpiexec --version - mpicxx --version - share/openPMD/download_samples.sh build cmake -S . -B build \ -DopenPMD_USE_PYTHON=OFF \ From 99dcae47dbbf559095a5a530ed7da15a4887d84c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Franz=20P=C3=B6schel?= Date: Mon, 24 Mar 2025 18:18:26 +0100 Subject: [PATCH 6/8] Alternative approach: self-compiled MPICH --- .../spack-envs/gcc13_py312_mpich_h5_ad2/spack.yaml | 4 ++-- .github/workflows/linux.yml | 14 +++++++++++++- 2 files changed, 15 insertions(+), 3 deletions(-) diff --git a/.github/ci/spack-envs/gcc13_py312_mpich_h5_ad2/spack.yaml b/.github/ci/spack-envs/gcc13_py312_mpich_h5_ad2/spack.yaml index fc1235b7f5..6b3851858f 100644 --- a/.github/ci/spack-envs/gcc13_py312_mpich_h5_ad2/spack.yaml +++ b/.github/ci/spack-envs/gcc13_py312_mpich_h5_ad2/spack.yaml @@ -22,8 +22,8 @@ spack: variants: +mpi mpich: externals: - - spec: mpich@4.2.0 - prefix: /usr + - spec: mpich@4.2.1 + prefix: /usr/local buildable: False perl: externals: diff --git a/.github/workflows/linux.yml b/.github/workflows/linux.yml index 0e4f9cbe87..d932532367 100644 --- a/.github/workflows/linux.yml +++ b/.github/workflows/linux.yml @@ -172,8 +172,20 @@ jobs: run: | sudo apt-get update sudo apt-get remove openmpi* libopenmpi* *hdf5* || true - sudo apt-get install g++ gfortran libmpich-dev mpich python3 + sudo apt-get install g++ gfortran python3 sudo .github/workflows/dependencies/install_spack + + pushd /opt + sudo wget https://www.mpich.org/static/downloads/4.3.0/mpich-4.3.0.tar.gz + sudo tar -xzf mpich-4.3.0.tar.gz + cd mpich-4.3.0 + sudo ./configure --prefix=/usr/local + sudo make -j 4 + sudo make -j 4 install + cd .. + sudo rm -rf mpich-4.3.0 mpich-4.3.0.tar.gz + popd + - name: Build env: {CC: gcc, CXX: g++, MPICH_CC: gcc, MPICH_CXX: g++, CXXFLAGS: -Werror} run: | From 163525558bb558d1f170aef5cb4bf8f170984030 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Franz=20P=C3=B6schel?= Date: Tue, 25 Mar 2025 12:04:01 +0100 Subject: [PATCH 7/8] Move MPICH installation to separate file --- .github/workflows/dependencies/install_mpich | 16 ++++++++++++++++ .github/workflows/linux.yml | 13 +++---------- 2 files changed, 19 insertions(+), 10 deletions(-) create mode 100644 .github/workflows/dependencies/install_mpich diff --git a/.github/workflows/dependencies/install_mpich b/.github/workflows/dependencies/install_mpich new file mode 100644 index 0000000000..ba36bf03fc --- /dev/null +++ b/.github/workflows/dependencies/install_mpich @@ -0,0 +1,16 @@ +#!/usr/bin/env bash +# + +set -eu -o pipefail + +mpich_ver="4.3.0" + +cd /opt +wget https://www.mpich.org/static/downloads/${mpich_ver}/mpich-${mpich_ver}.tar.gz +tar -xzf mpich-${mpich_ver}.tar.gz +cd mpich-${mpich_ver} +./configure --prefix=/usr/local +make -j 4 +make -j 4 install +cd .. +rm -rf mpich-${mpich_ver} mpich-${mpich_ver}.tar.gz diff --git a/.github/workflows/linux.yml b/.github/workflows/linux.yml index d932532367..9b21230ce3 100644 --- a/.github/workflows/linux.yml +++ b/.github/workflows/linux.yml @@ -175,16 +175,9 @@ jobs: sudo apt-get install g++ gfortran python3 sudo .github/workflows/dependencies/install_spack - pushd /opt - sudo wget https://www.mpich.org/static/downloads/4.3.0/mpich-4.3.0.tar.gz - sudo tar -xzf mpich-4.3.0.tar.gz - cd mpich-4.3.0 - sudo ./configure --prefix=/usr/local - sudo make -j 4 - sudo make -j 4 install - cd .. - sudo rm -rf mpich-4.3.0 mpich-4.3.0.tar.gz - popd + # Need to build this manually due to broken MPICH package in Ubuntu 24.04 + # https://bugs.launchpad.net/ubuntu/+source/mpich/+bug/2072338 + sudo .github/workflows/dependencies/install_mpich - name: Build env: {CC: gcc, CXX: g++, MPICH_CC: gcc, MPICH_CXX: g++, CXXFLAGS: -Werror} From 5f3ec7845c274611b0ea9ed4933178089a7681d5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Franz=20P=C3=B6schel?= Date: Tue, 25 Mar 2025 12:10:54 +0100 Subject: [PATCH 8/8] chmod +x --- .github/workflows/dependencies/install_mpich | 0 1 file changed, 0 insertions(+), 0 deletions(-) mode change 100644 => 100755 .github/workflows/dependencies/install_mpich diff --git a/.github/workflows/dependencies/install_mpich b/.github/workflows/dependencies/install_mpich old mode 100644 new mode 100755