From 829766e869d1baecbd04462d3484c8845a17097e Mon Sep 17 00:00:00 2001 From: Florian Deconinck Date: Mon, 21 Jul 2025 09:43:49 -0400 Subject: [PATCH 1/4] Upgrade `mpi4py` to >4 to allow new unified allocator on GH box to not die --- setup.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setup.py b/setup.py index afa96925..397f4751 100644 --- a/setup.py +++ b/setup.py @@ -11,7 +11,7 @@ def local_pkg(name: str, relative_path: str) -> str: requirements: list[str] = [ local_pkg("gt4py", "external/gt4py"), local_pkg("dace", "external/dace"), - "mpi4py==3.1.5", + "mpi4py>4", "cftime", "xarray>=2025.01.2", # datatree + fixes "f90nml>=1.1.0", From c35f89a9abddbfa5f4159813449a466332fd17c8 Mon Sep 17 00:00:00 2001 From: Florian Deconinck Date: Mon, 21 Jul 2025 09:45:58 -0400 Subject: [PATCH 2/4] Restrict further to bug fixed 4.1+ --- setup.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setup.py b/setup.py index 397f4751..a329c8a0 100644 --- a/setup.py +++ b/setup.py @@ -11,7 +11,7 @@ def local_pkg(name: str, relative_path: str) -> str: requirements: list[str] = [ local_pkg("gt4py", "external/gt4py"), local_pkg("dace", "external/dace"), - "mpi4py>4", + "mpi4py>4.1", "cftime", "xarray>=2025.01.2", # datatree + fixes "f90nml>=1.1.0", From f7f0bfd83534bf84bd5625e70c99ef8dc52e2529 Mon Sep 17 00:00:00 2001 From: Florian Deconinck Date: Mon, 21 Jul 2025 09:48:32 -0400 Subject: [PATCH 3/4] A tad too strict --- setup.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setup.py b/setup.py index a329c8a0..6898794e 100644 --- a/setup.py +++ b/setup.py @@ -11,7 +11,7 @@ def local_pkg(name: str, relative_path: str) -> str: requirements: list[str] = [ local_pkg("gt4py", "external/gt4py"), local_pkg("dace", "external/dace"), - "mpi4py>4.1", + "mpi4py>=4.1", "cftime", "xarray>=2025.01.2", # datatree + fixes "f90nml>=1.1.0", From 55e1ed8f839cab994dd101b694573ec93c686c74 Mon Sep 17 00:00:00 2001 From: Florian Deconinck Date: Mon, 21 Jul 2025 16:01:36 -0400 Subject: [PATCH 4/4] Use bare metal Ubuntu for NDSL unit tests --- .github/workflows/unit_tests.yaml | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/.github/workflows/unit_tests.yaml b/.github/workflows/unit_tests.yaml index d2095258..5cf1a8cc 100644 --- a/.github/workflows/unit_tests.yaml +++ b/.github/workflows/unit_tests.yaml @@ -10,8 +10,6 @@ concurrency: jobs: ndsl_unit_tests: runs-on: ubuntu-latest - container: - image: ghcr.io/noaa-gfdl/miniforge:mpich steps: - name: Checkout repository @@ -19,6 +17,14 @@ jobs: with: submodules: 'recursive' + - name: Setup Python 3.11 + uses: actions/setup-python@v5 + with: + python-version: '3.11' + + - name: Install mpi (MPICH flavor) + run: pip3 install mpich + - name: Install Python packages run: pip3 install .[test] @@ -26,7 +32,7 @@ jobs: run: coverage run --rcfile=pyproject.toml -m pytest tests - name: Run parallel-cpu tests - run: mpiexec -np 6 --oversubscribe coverage run --rcfile=pyproject.toml -m mpi4py -m pytest tests/mpi + run: mpiexec -np 6 coverage run --rcfile=pyproject.toml -m mpi4py -m pytest tests/mpi - name: Output code coverage run: |