@@ -16,10 +16,11 @@ const DEPS_LOADED = Ref(false)
1616
1717The currently selected binary. The possible values are
1818
19+ - `"MPIABI_jll"`: use the binary provided by [MPIABI_jll](https://github.com/JuliaBinaryWrappers/MPIABI_jll.jl)
1920- `"MPICH_jll"`: use the binary provided by [MPICH_jll](https://github.com/JuliaBinaryWrappers/MPICH_jll.jl)
20- - `"OpenMPI_jll"`: use the binary provided by [OpenMPI_jll](https://github.com/JuliaBinaryWrappers/OpenMPI_jll.jl)
21- - `"MicrosoftMPI_jll"`: use binary provided by [MicrosoftMPI_jll](https://github.com/JuliaBinaryWrappers/MicrosoftMPI_jll.jl/)
2221- `"MPItrampoline_jll"`: use the binary provided by [MPItrampoline_jll](https://github.com/JuliaBinaryWrappers/MPItrampoline_jll.jl/)
22+ - `"MicrosoftMPI_jll"`: use binary provided by [MicrosoftMPI_jll](https://github.com/JuliaBinaryWrappers/MicrosoftMPI_jll.jl/)
23+ - `"OpenMPI_jll"`: use the binary provided by [OpenMPI_jll](https://github.com/JuliaBinaryWrappers/OpenMPI_jll.jl)
2324- `"system"`: use a system-provided binary.
2425
2526"""
@@ -30,22 +31,25 @@ const binary = @load_preference("binary", Sys.iswindows() ? "MicrosoftMPI_jll" :
3031
3132The ABI (application binary interface) of the currently selected binary. Supported values are:
3233
34+ - `"HPE MPT"`: HPE MPT
35+ - `"MPIABI"`: MPI-ABI-compatible ABI (https://www.mpi-form.org/)
3336- `"MPICH"`: MPICH-compatible ABI (https://www.mpich.org/abi/)
34- - `"OpenMPI"`: Open MPI compatible ABI (Open MPI, IBM Spectrum MPI, Fujitsu MPI)
35- - `"MicrosoftMPI"`: Microsoft MPI
3637- `"MPItrampoline"`: MPItrampoline
37- - `"HPE MPT"`: HPE MPT
38+ - `"MicrosoftMPI"`: Microsoft MPI
39+ - `"OpenMPI"`: Open MPI compatible ABI (Open MPI, IBM Spectrum MPI, Fujitsu MPI)
3840"""
3941const abi = if binary == " system"
4042 @load_preference (" abi" )
41- elseif binary == " MicrosoftMPI_jll "
42- " MicrosoftMPI "
43+ elseif binary == " MPIABI_jll "
44+ " MPIABI "
4345elseif binary == " MPICH_jll"
4446 " MPICH"
45- elseif binary == " OpenMPI_jll"
46- " OpenMPI"
4747elseif binary == " MPItrampoline_jll"
4848 " MPItrampoline"
49+ elseif binary == " MicrosoftMPI_jll"
50+ " MicrosoftMPI"
51+ elseif binary == " OpenMPI_jll"
52+ " OpenMPI"
4953else
5054 error (" Unknown binary: $binary " )
5155end
@@ -66,16 +70,17 @@ Switches the underlying MPI implementation to one provided by JLL packages. A
6670restart of Julia is required for the changes to take effect.
6771
6872Available options are:
69- - `"MicrosoftMPI_jll"` (Only option and default on Windows)
73+ - `"MPIABI_jll"`
7074- `"MPICH_jll"` (Default on all other platform)
71- - `"OpenMPI_jll"`
7275- `"MPItrampoline_jll"`
76+ - `"MicrosoftMPI_jll"` (Only option and default on Windows)
77+ - `"OpenMPI_jll"`
7378
7479The `export_prefs` option determines whether the preferences being set should be
7580stored within `LocalPreferences.toml` or `Project.toml`.
7681"""
7782function use_jll_binary (binary = Sys. iswindows () ? " MicrosoftMPI_jll" : " MPICH_jll" ; export_prefs= false , force= true )
78- known_binaries = (" MicrosoftMPI_jll " , " MPICH_jll" , " OpenMPI_jll " , " MPItrampoline_jll" )
83+ known_binaries = (" MPIABI_jll " , " MPICH_jll" , " MicrosoftMPI_jll " , " MPItrampoline_jll" , " OpenMPI_jll " )
7984 binary in known_binaries ||
8085 error ("""
8186 Unknown jll: $binary .
118123
119124"""
120125 use_system_binary(;
121- library_names = ["libmpi", "libmpi_ibm", "msmpi", "libmpich", "libmpi_cray", "libmpitrampoline"],
126+ library_names = ["libmpi", "libmpi_abi", " libmpi_ibm", "msmpi", "libmpich", "libmpi_cray", "libmpitrampoline"],
122127 extra_paths = String[],
123128 mpiexec = "mpiexec",
124129 abi = nothing,
@@ -162,7 +167,7 @@ Options:
162167- `force`: if `true`, the preferences are set even if they are already set.
163168"""
164169function use_system_binary (;
165- library_names= [" libmpi" , " libmpi_ibm" , " msmpi" , " libmpich" , " libmpi_cray" , " libmpitrampoline" ],
170+ library_names= [" libmpi" , " libmpi_abi " , " libmpi_ibm" , " msmpi" , " libmpich" , " libmpi_cray" , " libmpitrampoline" ],
166171 extra_paths= String[],
167172 mpiexec= " mpiexec" ,
168173 abi= nothing ,
0 commit comments