Skip to content

Conversation

@tkoskela
Copy link
Member

Following a discussion with @giordano. There are compatibility issues between OpenMPI 4 and 5 and using OpenMPI_jll@v5 with a OpenMPI4 implementation was causing errors. We expect most systems we run on to still be on OpenMPI 4 so this seems reasonable.

Ref JuliaParallel/MPI.jl#835 (comment)

@tkoskela tkoskela requested a review from giordano May 14, 2025 11:29
Copy link
Member

@giordano giordano left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not ideal, but don't have better options at the moment

@tkoskela
Copy link
Member Author

Do we also want to add MPIPreferences to the toml?

@giordano
Copy link
Member

Uhm, no, I don't think that's needed, is it?

@tkoskela
Copy link
Member Author

LocalPreferences.toml seems to get ignored if MPIPreferences.jl not in the project. So you'll have to add it every time you want to use an external MPI library.

[cceaosk@node-c11a-131 ParticleDA]$ julia --project
               _
   _       _ _(_)_     |  Documentation: https://docs.julialang.org
  (_)     | (_) (_)    |
   _ _   _| |_  __ _   |  Type "?" for help, "]?" for Pkg help.
  | | | | | | |/ _` |  |
  | | |_| | | | (_| |  |  Version 1.10.1 (2024-02-13)
 _/ |\__'_|_|_|\__'_|  |  Official https://julialang.org/ release
|__/                   |

julia> using MPI

julia> MPI.identify_implementation()
("MPICH", v"4.3.0")

(ParticleDA) pkg> add MPIPreferences
   Resolving package versions...
    Updating `/lustre/home/cceaosk/.julia/dev/ParticleDA/Project.toml`
  [3da0fdf6] + MPIPreferences v0.1.11
  No Changes to `/lustre/home/cceaosk/.julia/dev/ParticleDA/Manifest.toml`

julia> MPI.identify_implementation()
("MPICH", v"4.3.0")

julia> exit()
[cceaosk@node-c11a-131 ParticleDA]$ julia --project
               _
   _       _ _(_)_     |  Documentation: https://docs.julialang.org
  (_)     | (_) (_)    |
   _ _   _| |_  __ _   |  Type "?" for help, "]?" for Pkg help.
  | | | | | | |/ _` |  |
  | | |_| | | | (_| |  |  Version 1.10.1 (2024-02-13)
 _/ |\__'_|_|_|\__'_|  |  Official https://julialang.org/ release
|__/                   |

julia> using MPI

julia> MPI.identify_implementation()
("OpenMPI", v"4.0.5")

@codecov
Copy link

codecov bot commented May 14, 2025

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 94.64%. Comparing base (875b3d7) to head (00b5620).
Report is 2 commits behind head on main.

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #296   +/-   ##
=======================================
  Coverage   94.64%   94.64%           
=======================================
  Files           9        9           
  Lines         654      654           
=======================================
  Hits          619      619           
  Misses         35       35           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@giordano
Copy link
Member

Adding it to this environment won't do much for when people install the package. MPIPreferences should be installed in the "top-level" environment where the preferences is active, a package's environment will very rarely be the top-level one.

@tkoskela tkoskela merged commit 3a5a591 into main May 14, 2025
9 of 11 checks passed
@tkoskela tkoskela deleted the tk/update_openmpi_compat branch May 14, 2025 14:18
@giordano giordano mentioned this pull request Nov 5, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants