-
-
Notifications
You must be signed in to change notification settings - Fork 122
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Detect MVAPICH 3 #810
Detect MVAPICH 3 #810
Conversation
That look correct to me. I just noticed that we don't have mvapich in the test matrix. |
Or a |
We do: MPI.jl/.github/workflows/UnitTests.yml Lines 551 to 590 in c7f0fc3
julia-actions/cache now requires jq to be available (see for example julia-actions/cache#105). I can look into it, but not right now.
|
Problem with We can also add a test with mvapich3 in this PR, but we need to build it in https://github.com/JuliaParallel/github-actions-buildcache, will take a bit, I can try to do it later tonight. |
d840414
to
dd6b122
Compare
I built MVAPICH 3.0b with JuliaParallel/github-actions-buildcache@134f6ae, but tests are failing very early:
|
dd6b122
to
aeb5b7a
Compare
I found https://github.com/ciemat-tic/codec/wiki/MPI-Libraries#errors which suggests we may have to set an environment variable to work around that error. In that page they use export MV2_ENABLE_AFFINITY=0 I presume for MVAPICH 3 it'll be slightly different, need to find the official one. |
On the cluster, the environment variable |
Thank you! You saved me digging into MVAPICH source code, since the only v3-specific documentation at the moment is the super slim Quick Start which doesn't mention affinity at all, the rest refers to MVAPICH2. I don't know how users are supposed to find out the necessary environment variable without reading the code. |
That did the trick, thank you so much! And all tests for MVAPICH 3 are passing! 🥳 Unfortunately there are errors in the mpitrampoline_jll jobs on macOS, unrelated to this PR:
@eschnett would you please be able to have a look at that? Apparently the macOS build of MPICH inside mpitrampoline isn't well functioning. |
@giordano I cannot reproduce the problem. I am using Julia 1.11-beta1, using
I am not setting any environment variables. This is an Intel Mac:
|
It seems the problem is that MPICH's
I don't think Julia's artifacts support calling its binaries "as is". Nothing would ensure that In the mean time I'll try to generate a self-contained MPICH build that doesn't look for an external hwloc. Maybe static linking will work for this binary. |
We can when using the executable wrappers in JLLs: https://docs.binarybuilder.org/stable/jll/#ExecutableProduct. But I'm not sure we can wire that up in mpiexecjl/mpitrampoline? |
It's finally all green! Thanks everyone for the help and the patience! |
I recently started working on a cluster using MVAPICH version 3.0rc, yet MPIPreferences.jl couldn't correctly detect it as the version string changed. Here is a sample of it, taken from the output of
MPIPreferences.identify_abi("libmpi")
:The fix removes only a single character. By looking at the version regex, MVAPICH version 2 shouldn't be affected.