Skip to content

Commit 0fbbebd

Browse files
committed
mpi4py: run the spawn and dynamic process tests
Split the mpi4py Github Action into 3 parts: 1. build: do everything to build, configure, and install Open MPI and mpi4py 2. run: run all the mpi4py tests with its defaults. As of March 2024, this disables the spawn and dynamic tests, which means that the entire block of tests should pass. 3. run_spawn: run all the mpi4py tests, including the spawn and dynamic tests. As of March 2024, we know some of these tests are failing. Signed-off-by: Jeff Squyres <[email protected]>
1 parent e9a0e65 commit 0fbbebd

File tree

1 file changed

+60
-1
lines changed

1 file changed

+60
-1
lines changed

.github/workflows/ompi_mpi4py.yaml

Lines changed: 60 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ name: mpi4py
33
on: [pull_request]
44

55
jobs:
6-
mpi4py:
6+
build:
77
runs-on: ubuntu-latest
88
timeout-minutes: 60
99

@@ -89,6 +89,14 @@ jobs:
8989
env:
9090
CFLAGS: "-O0"
9191

92+
run:
93+
# This whole set of tests run with mpi4py's defaults. As of March
94+
# 2024, this means disabling the spawn and dynamic tests. We want
95+
# this block of tests to pass.
96+
needs: [build]
97+
runs-on: ubuntu-latest
98+
timeout-minutes: 30
99+
steps:
92100
- name: Test mpi4py (singleton)
93101
run: python test/main.py -v
94102
if: ${{ true }}
@@ -118,3 +126,54 @@ jobs:
118126
run: python demo/test-run/test_run.py -v
119127
if: ${{ true }}
120128
timeout-minutes: 10
129+
130+
run_spawn:
131+
# This whole set of tests runs explicitly with setting "enable the
132+
# spawn and dynamic tests". As of March 2024, we know that Open
133+
# MPI is failing these tests.
134+
needs: [build]
135+
runs-on: ubuntu-latest
136+
timeout-minutes: 30
137+
steps:
138+
- name: Test mpi4py (singleton)
139+
run: python test/main.py -v
140+
if: ${{ true }}
141+
env:
142+
MPI4PY_TEST_SPAWN: "1"
143+
MPI4PY_TEST_DYNPROC: "1"
144+
timeout-minutes: 10
145+
- name: Test mpi4py (np=1)
146+
run: mpiexec -n 1 python test/main.py -v
147+
env:
148+
MPI4PY_TEST_SPAWN: "1"
149+
MPI4PY_TEST_DYNPROC: "1"
150+
if: ${{ true }}
151+
timeout-minutes: 10
152+
- name: Test mpi4py (np=2)
153+
run: mpiexec -n 2 python test/main.py -v -f
154+
env:
155+
MPI4PY_TEST_SPAWN: "1"
156+
MPI4PY_TEST_DYNPROC: "1"
157+
if: ${{ true }}
158+
timeout-minutes: 10
159+
- name: Test mpi4py (np=3)
160+
run: mpiexec -n 3 python test/main.py -v -f
161+
env:
162+
MPI4PY_TEST_SPAWN: "1"
163+
MPI4PY_TEST_DYNPROC: "1"
164+
if: ${{ true }}
165+
timeout-minutes: 10
166+
- name: Test mpi4py (np=4)
167+
run: mpiexec -n 4 python test/main.py -v -f
168+
env:
169+
MPI4PY_TEST_SPAWN: "1"
170+
MPI4PY_TEST_DYNPROC: "1"
171+
if: ${{ true }}
172+
timeout-minutes: 10
173+
- name: Test mpi4py (np=5)
174+
run: mpiexec -n 5 python test/main.py -v -f
175+
env:
176+
MPI4PY_TEST_SPAWN: "1"
177+
MPI4PY_TEST_DYNPROC: "1"
178+
if: ${{ true }}
179+
timeout-minutes: 10

0 commit comments

Comments
 (0)