Skip to content

Use OpenMPI 5.0.7 or later for CI testing under Linux #3466

Open
@heplesser

Description

@heplesser

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

No one assigned

    Labels

    I: No breaking changePreviously written code will work as before, no one should note anything changing (aside the fix)S: NormalHandle this with default priorityT: External bugNot an issue that can be solved here. (May need documentation, though)

    Type

    No type

    Projects

    Status

    To do

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions