Description
OpenMPI seems to contain a bug at least up to 4.1.6 which makes our new MPI Test setup complicated, because with the bug present, one cannot subprocess-mpirun anything after a module (such as NEST) which call MPI_Init() has been imported, e.g. in Pytest's conftest.py
file. The error is definitely fixed in OpenMPI 5.0.7. See also python/cpython#132377.
Under macOS, Github actions already use OpenMPI 5.0.7, so tests pass there (see, e.g., https://github.com/heplesser/nest-simulator/actions/runs/14229583317/job/39877167366), but under Linux we still use 4.1.2 (see https://github.com/heplesser/nest-simulator/actions/runs/14229583317/job/39877167373#step:7:414), leading to test failure.
There are cumbersome ways to work around this problem (such as adding nest.finalize_mpi()
just for testing), but I would much rather use OpenMPI 5.0.7 for testing that to hack in such a function.
Can we organise this without having to recompile OpenMPI manually every time (which would waste a lot of electricity)? Alternatively, we could skip the mpitests for OpenMPI < 5.0.7. Since macOS uses 5.0.7 or later, the mpitests would definitely be run, so the risk of this is not too bad.
Metadata
Metadata
Assignees
Labels
Type
Projects
Status